"""GraphQL artifact module."""

from .resolver import (
    approve_artifact_revision,
    artifact,
    artifact_import_progress_updated,
    artifact_revision,
    artifact_revisions,
    artifact_status_changed,
    artifacts,
    cancel_import_artifact,
    cleanup_artifact_revisions,
    delegate_import_artifacts,
    delegate_scan_artifacts,
    delete_artifacts,
    import_artifacts,
    reject_artifact_revision,
    restore_artifacts,
    scan_artifact_models,
    scan_artifacts,
    update_artifact,
)
from .types import (
    ApproveArtifactInput,
    ApproveArtifactPayload,
    Artifact,
    ArtifactConnection,
    ArtifactFilter,
    ArtifactOrderBy,
    ArtifactRevision,
    ArtifactRevisionConnection,
    ArtifactRevisionFilter,
    ArtifactRevisionOrderBy,
    CancelArtifactInput,
    CancelImportArtifactPayload,
    CleanupArtifactRevisionsInput,
    CleanupArtifactRevisionsPayload,
    DelegateImportArtifactsInput,
    DelegateImportArtifactsPayload,
    DelegateScanArtifactsInput,
    DelegateScanArtifactsPayload,
    DeleteArtifactsInput,
    DeleteArtifactsPayload,
    ImportArtifactsInput,
    ImportArtifactsPayload,
    RejectArtifactInput,
    RejectArtifactPayload,
    RestoreArtifactsInput,
    RestoreArtifactsPayload,
    ScanArtifactModelsInput,
    ScanArtifactModelsPayload,
    ScanArtifactsInput,
    ScanArtifactsPayload,
    UpdateArtifactInput,
    UpdateArtifactPayload,
)

__all__ = (
    # Main types
    "Artifact",
    "ArtifactRevision",
    "ArtifactConnection",
    "ArtifactRevisionConnection",
    # Filters and ordering
    "ArtifactFilter",
    "ArtifactOrderBy",
    "ArtifactRevisionFilter",
    "ArtifactRevisionOrderBy",
    # Input types and payloads
    "ScanArtifactsInput",
    "ScanArtifactsPayload",
    "ImportArtifactsInput",
    "ImportArtifactsPayload",
    "DelegateScanArtifactsInput",
    "DelegateScanArtifactsPayload",
    "DelegateImportArtifactsInput",
    "DelegateImportArtifactsPayload",
    "UpdateArtifactInput",
    "UpdateArtifactPayload",
    "CleanupArtifactRevisionsInput",
    "CleanupArtifactRevisionsPayload",
    "DeleteArtifactsInput",
    "DeleteArtifactsPayload",
    "RestoreArtifactsInput",
    "RestoreArtifactsPayload",
    "ApproveArtifactInput",
    "ApproveArtifactPayload",
    "RejectArtifactInput",
    "RejectArtifactPayload",
    "CancelArtifactInput",
    "CancelImportArtifactPayload",
    "ScanArtifactModelsInput",
    "ScanArtifactModelsPayload",
    # Query resolvers
    "artifacts",
    "artifact",
    "artifact_revisions",
    "artifact_revision",
    # Mutation resolvers
    "scan_artifacts",
    "import_artifacts",
    "delegate_scan_artifacts",
    "delegate_import_artifacts",
    "update_artifact",
    "cleanup_artifact_revisions",
    "delete_artifacts",
    "restore_artifacts",
    "cancel_import_artifact",
    "approve_artifact_revision",
    "reject_artifact_revision",
    "scan_artifact_models",
    # Subscription resolvers
    "artifact_status_changed",
    "artifact_import_progress_updated",
)
