"""
Data models for upload package refactor.

Shared data models used across upload services to ensure consistent interfaces
and type safety throughout the upload workflow.
"""

from .validation_models import (
    ValidationResult,
    ValidationStatus,
    StageDiscoveryResult, 
    ConnectionValidationResult,
    ProcessingPlan,
    OrganizationPlan,
    ProviderPlan
)

from .upload_models import (
    UploadConfig,
    Organization,
    AdhocUploadConfig,
    DatasetChunk,
    UploadResult,
    WorkflowResult,
    OrganizationResult
)

from .processing_models import (
    DatasetConfig,
    ProcessingResult,
    CBFProcessingConfig
)

from .time_shift_models import (
    TimeShiftConfig,
    TransformStats,
    DropCopyResult,
    TimeShiftResult
)

__all__ = [
    # Validation models
    "ValidationResult",
    "ValidationStatus",
    "StageDiscoveryResult",
    "ConnectionValidationResult", 
    "ProcessingPlan",
    "OrganizationPlan",
    "ProviderPlan",
    
    # Upload models
    "UploadConfig",
    "Organization", 
    "AdhocUploadConfig",
    "DatasetChunk", 
    "UploadResult",
    "WorkflowResult",
    "OrganizationResult",
    
    # Processing models
    "DatasetConfig",
    "ProcessingResult",
    "CBFProcessingConfig",

    # Time-shift models
    "TimeShiftConfig",
    "TransformStats",
    "DropCopyResult",
    "TimeShiftResult"
]