"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _PackageStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PackageStatusEnumTypeWrapper(
    google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
        _PackageStatus.ValueType
    ],
    builtins.type,
):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PACKAGE_STATUS_UNSPECIFIED: _PackageStatus.ValueType  # 0
    PACKAGE_STATUS_FAILED: _PackageStatus.ValueType  # 1
    PACKAGE_STATUS_REJECTED: _PackageStatus.ValueType  # 2
    PACKAGE_STATUS_COMPLETE: _PackageStatus.ValueType  # 3
    PACKAGE_STATUS_PROCESSING: _PackageStatus.ValueType  # 4

class PackageStatus(_PackageStatus, metaclass=_PackageStatusEnumTypeWrapper): ...

PACKAGE_STATUS_UNSPECIFIED: PackageStatus.ValueType  # 0
PACKAGE_STATUS_FAILED: PackageStatus.ValueType  # 1
PACKAGE_STATUS_REJECTED: PackageStatus.ValueType  # 2
PACKAGE_STATUS_COMPLETE: PackageStatus.ValueType  # 3
PACKAGE_STATUS_PROCESSING: PackageStatus.ValueType  # 4
global___PackageStatus = PackageStatus

@typing_extensions.final
class SubmitRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    name: builtins.str
    url: builtins.str
    @property
    def config(self) -> global___ProcessingConfig: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        url: builtins.str = ...,
        config: global___ProcessingConfig | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["config", b"config"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "config", b"config", "name", b"name", "url", b"url"
        ],
    ) -> None: ...

global___SubmitRequest = SubmitRequest

@typing_extensions.final
class SubmitResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["id", b"id"]
    ) -> None: ...

global___SubmitResponse = SubmitResponse

@typing_extensions.final
class ReadRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["id", b"id"]
    ) -> None: ...

global___ReadRequest = ReadRequest

@typing_extensions.final
class ReadResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    JOB_FIELD_NUMBER: builtins.int
    JOBS_FIELD_NUMBER: builtins.int
    status: global___PackageStatus.ValueType
    job: builtins.str
    @property
    def jobs(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___Job
    ]: ...
    def __init__(
        self,
        *,
        status: global___PackageStatus.ValueType = ...,
        job: builtins.str = ...,
        jobs: collections.abc.Iterable[global___Job] | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "job", b"job", "jobs", b"jobs", "status", b"status"
        ],
    ) -> None: ...

global___ReadResponse = ReadResponse

@typing_extensions.final
class ListTasksRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    JOB_ID_FIELD_NUMBER: builtins.int
    job_id: builtins.str
    def __init__(
        self,
        *,
        job_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["job_id", b"job_id"]
    ) -> None: ...

global___ListTasksRequest = ListTasksRequest

@typing_extensions.final
class ListTasksResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASKS_FIELD_NUMBER: builtins.int
    @property
    def tasks(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___Task
    ]: ...
    def __init__(
        self,
        *,
        tasks: collections.abc.Iterable[global___Task] | None = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["tasks", b"tasks"]
    ) -> None: ...

global___ListTasksResponse = ListTasksResponse

@typing_extensions.final
class EmptyRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___EmptyRequest = EmptyRequest

@typing_extensions.final
class EmptyResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___EmptyResponse = EmptyResponse

@typing_extensions.final
class Job(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _Status:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _StatusEnumTypeWrapper(
        google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
            Job._Status.ValueType
        ],
        builtins.type,
    ):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        STATUS_UNSPECIFIED: Job._Status.ValueType  # 0
        STATUS_COMPLETE: Job._Status.ValueType  # 1
        STATUS_PROCESSING: Job._Status.ValueType  # 2
        STATUS_FAILED: Job._Status.ValueType  # 3

    class Status(_Status, metaclass=_StatusEnumTypeWrapper): ...
    STATUS_UNSPECIFIED: Job.Status.ValueType  # 0
    STATUS_COMPLETE: Job.Status.ValueType  # 1
    STATUS_PROCESSING: Job.Status.ValueType  # 2
    STATUS_FAILED: Job.Status.ValueType  # 3

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    GROUP_FIELD_NUMBER: builtins.int
    LINK_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    id: builtins.str
    name: builtins.str
    group: builtins.str
    link_id: builtins.str
    status: global___Job.Status.ValueType
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        group: builtins.str = ...,
        link_id: builtins.str = ...,
        status: global___Job.Status.ValueType = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["start_time", b"start_time"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "group",
            b"group",
            "id",
            b"id",
            "link_id",
            b"link_id",
            "name",
            b"name",
            "start_time",
            b"start_time",
            "status",
            b"status",
        ],
    ) -> None: ...

global___Job = Job

@typing_extensions.final
class Task(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    FILE_ID_FIELD_NUMBER: builtins.int
    EXIT_CODE_FIELD_NUMBER: builtins.int
    FILENAME_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    ARGUMENTS_FIELD_NUMBER: builtins.int
    STDOUT_FIELD_NUMBER: builtins.int
    STDERR_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    id: builtins.str
    file_id: builtins.str
    exit_code: builtins.int
    filename: builtins.str
    execution: builtins.str
    arguments: builtins.str
    stdout: builtins.str
    stderr: builtins.str
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        file_id: builtins.str = ...,
        exit_code: builtins.int = ...,
        filename: builtins.str = ...,
        execution: builtins.str = ...,
        arguments: builtins.str = ...,
        stdout: builtins.str = ...,
        stderr: builtins.str = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "end_time", b"end_time", "start_time", b"start_time"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "arguments",
            b"arguments",
            "end_time",
            b"end_time",
            "execution",
            b"execution",
            "exit_code",
            b"exit_code",
            "file_id",
            b"file_id",
            "filename",
            b"filename",
            "id",
            b"id",
            "start_time",
            b"start_time",
            "stderr",
            b"stderr",
            "stdout",
            b"stdout",
        ],
    ) -> None: ...

global___Task = Task

@typing_extensions.final
class ProcessingConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _AIPCompressionAlgorithm:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _AIPCompressionAlgorithmEnumTypeWrapper(
        google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
            ProcessingConfig._AIPCompressionAlgorithm.ValueType
        ],
        builtins.type,
    ):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        AIP_COMPRESSION_ALGORITHM_UNSPECIFIED: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 0
        AIP_COMPRESSION_ALGORITHM_UNCOMPRESSED: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 1
        """It breaks in verify_aip."""
        AIP_COMPRESSION_ALGORITHM_TAR: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 2
        """Not supported yet!"""
        AIP_COMPRESSION_ALGORITHM_TAR_BZIP2: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 3
        AIP_COMPRESSION_ALGORITHM_TAR_GZIP: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 4
        AIP_COMPRESSION_ALGORITHM_S7_COPY: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 5
        AIP_COMPRESSION_ALGORITHM_S7_BZIP2: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 6
        AIP_COMPRESSION_ALGORITHM_S7_LZMA: ProcessingConfig._AIPCompressionAlgorithm.ValueType  # 7

    class AIPCompressionAlgorithm(
        _AIPCompressionAlgorithm, metaclass=_AIPCompressionAlgorithmEnumTypeWrapper
    ): ...
    AIP_COMPRESSION_ALGORITHM_UNSPECIFIED: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 0
    AIP_COMPRESSION_ALGORITHM_UNCOMPRESSED: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 1
    """It breaks in verify_aip."""
    AIP_COMPRESSION_ALGORITHM_TAR: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 2
    """Not supported yet!"""
    AIP_COMPRESSION_ALGORITHM_TAR_BZIP2: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 3
    AIP_COMPRESSION_ALGORITHM_TAR_GZIP: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 4
    AIP_COMPRESSION_ALGORITHM_S7_COPY: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 5
    AIP_COMPRESSION_ALGORITHM_S7_BZIP2: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 6
    AIP_COMPRESSION_ALGORITHM_S7_LZMA: ProcessingConfig.AIPCompressionAlgorithm.ValueType  # 7

    ASSIGN_UUIDS_TO_DIRECTORIES_FIELD_NUMBER: builtins.int
    EXAMINE_CONTENTS_FIELD_NUMBER: builtins.int
    GENERATE_TRANSFER_STRUCTURE_REPORT_FIELD_NUMBER: builtins.int
    DOCUMENT_EMPTY_DIRECTORIES_FIELD_NUMBER: builtins.int
    EXTRACT_PACKAGES_FIELD_NUMBER: builtins.int
    DELETE_PACKAGES_AFTER_EXTRACTION_FIELD_NUMBER: builtins.int
    IDENTIFY_TRANSFER_FIELD_NUMBER: builtins.int
    IDENTIFY_SUBMISSION_AND_METADATA_FIELD_NUMBER: builtins.int
    IDENTIFY_BEFORE_NORMALIZATION_FIELD_NUMBER: builtins.int
    NORMALIZE_FIELD_NUMBER: builtins.int
    TRANSCRIBE_FILES_FIELD_NUMBER: builtins.int
    PERFORM_POLICY_CHECKS_ON_ORIGINALS_FIELD_NUMBER: builtins.int
    PERFORM_POLICY_CHECKS_ON_PRESERVATION_DERIVATIVES_FIELD_NUMBER: builtins.int
    AIP_COMPRESSION_LEVEL_FIELD_NUMBER: builtins.int
    AIP_COMPRESSION_ALGORITHM_FIELD_NUMBER: builtins.int
    assign_uuids_to_directories: builtins.bool
    examine_contents: builtins.bool
    generate_transfer_structure_report: builtins.bool
    document_empty_directories: builtins.bool
    extract_packages: builtins.bool
    delete_packages_after_extraction: builtins.bool
    identify_transfer: builtins.bool
    identify_submission_and_metadata: builtins.bool
    """identify_submission_and_metadata represents a single configuration
    attribute that controls two separate file format identification jobs
    in the workflow: one for objects/submissionDocumentation and one
    for objects/metadata
    """
    identify_before_normalization: builtins.bool
    normalize: builtins.bool
    transcribe_files: builtins.bool
    perform_policy_checks_on_originals: builtins.bool
    perform_policy_checks_on_preservation_derivatives: builtins.bool
    aip_compression_level: builtins.int
    """AIP compression level (1 is the fastest, 9 is the smallest)."""
    aip_compression_algorithm: global___ProcessingConfig.AIPCompressionAlgorithm.ValueType
    """AIP compression algorithm"""
    def __init__(
        self,
        *,
        assign_uuids_to_directories: builtins.bool = ...,
        examine_contents: builtins.bool = ...,
        generate_transfer_structure_report: builtins.bool = ...,
        document_empty_directories: builtins.bool = ...,
        extract_packages: builtins.bool = ...,
        delete_packages_after_extraction: builtins.bool = ...,
        identify_transfer: builtins.bool = ...,
        identify_submission_and_metadata: builtins.bool = ...,
        identify_before_normalization: builtins.bool = ...,
        normalize: builtins.bool = ...,
        transcribe_files: builtins.bool = ...,
        perform_policy_checks_on_originals: builtins.bool = ...,
        perform_policy_checks_on_preservation_derivatives: builtins.bool = ...,
        aip_compression_level: builtins.int = ...,
        aip_compression_algorithm: global___ProcessingConfig.AIPCompressionAlgorithm.ValueType = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "aip_compression_algorithm",
            b"aip_compression_algorithm",
            "aip_compression_level",
            b"aip_compression_level",
            "assign_uuids_to_directories",
            b"assign_uuids_to_directories",
            "delete_packages_after_extraction",
            b"delete_packages_after_extraction",
            "document_empty_directories",
            b"document_empty_directories",
            "examine_contents",
            b"examine_contents",
            "extract_packages",
            b"extract_packages",
            "generate_transfer_structure_report",
            b"generate_transfer_structure_report",
            "identify_before_normalization",
            b"identify_before_normalization",
            "identify_submission_and_metadata",
            b"identify_submission_and_metadata",
            "identify_transfer",
            b"identify_transfer",
            "normalize",
            b"normalize",
            "perform_policy_checks_on_originals",
            b"perform_policy_checks_on_originals",
            "perform_policy_checks_on_preservation_derivatives",
            b"perform_policy_checks_on_preservation_derivatives",
            "transcribe_files",
            b"transcribe_files",
        ],
    ) -> None: ...

global___ProcessingConfig = ProcessingConfig
