"""CloudKit uploaders for sportstime-parser."""

from .cloudkit import (
    CloudKitClient,
    CloudKitRecord,
    CloudKitError,
    CloudKitAuthError,
    CloudKitRateLimitError,
    CloudKitServerError,
    RecordType,
    OperationResult,
    BatchResult,
)
from .state import (
    RecordState,
    UploadSession,
    StateManager,
)
from .diff import (
    DiffAction,
    RecordDiff,
    DiffResult,
    RecordDiffer,
    game_to_cloudkit_record,
    team_to_cloudkit_record,
    stadium_to_cloudkit_record,
)

__all__ = [
    # CloudKit client
    "CloudKitClient",
    "CloudKitRecord",
    "CloudKitError",
    "CloudKitAuthError",
    "CloudKitRateLimitError",
    "CloudKitServerError",
    "RecordType",
    "OperationResult",
    "BatchResult",
    # State manager
    "RecordState",
    "UploadSession",
    "StateManager",
    # Differ
    "DiffAction",
    "RecordDiff",
    "DiffResult",
    "RecordDiffer",
    "game_to_cloudkit_record",
    "team_to_cloudkit_record",
    "stadium_to_cloudkit_record",
]
