"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

global___ImportRole = ImportRole

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

    INPUT_FIELD_NUMBER: builtins.int
    @property
    def input(self) -> global___SinkInput: ...
    def __init__(
        self,
        *,
        input: global___SinkInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input", b"input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["input", b"input"]) -> None: ...

global___ExportRole = ExportRole

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

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

global___SingleFile = SingleFile

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

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

global___RawFile = RawFile

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

    SINGLEFILE_FIELD_NUMBER: builtins.int
    @property
    def singleFile(self) -> global___SingleFile: ...
    def __init__(
        self,
        *,
        singleFile: global___SingleFile | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["selection", b"selection", "singleFile", b"singleFile"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["selection", b"selection", "singleFile", b"singleFile"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["selection", b"selection"]) -> typing_extensions.Literal["singleFile"] | None: ...

global___ZipFile = ZipFile

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

    DEPENDENCY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    RAW_FIELD_NUMBER: builtins.int
    ZIP_FIELD_NUMBER: builtins.int
    dependency: builtins.str
    name: builtins.str
    @property
    def raw(self) -> global___RawFile: ...
    @property
    def zip(self) -> global___ZipFile: ...
    def __init__(
        self,
        *,
        dependency: builtins.str = ...,
        name: builtins.str = ...,
        raw: global___RawFile | None = ...,
        zip: global___ZipFile | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["file", b"file", "raw", b"raw", "zip", b"zip"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dependency", b"dependency", "file", b"file", "name", b"name", "raw", b"raw", "zip", b"zip"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["file", b"file"]) -> typing_extensions.Literal["raw", "zip"] | None: ...

global___SinkInput = SinkInput

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

    CREDENTIALSDEPENDENCY_FIELD_NUMBER: builtins.int
    IMPORTROLE_FIELD_NUMBER: builtins.int
    EXPORTROLE_FIELD_NUMBER: builtins.int
    IMPORTID_FIELD_NUMBER: builtins.int
    SEGMENTNAME_FIELD_NUMBER: builtins.int
    SEGMENTCODE_FIELD_NUMBER: builtins.int
    INPUTHASHEADERS_FIELD_NUMBER: builtins.int
    credentialsDependency: builtins.str
    @property
    def importRole(self) -> global___ImportRole: ...
    @property
    def exportRole(self) -> global___ExportRole: ...
    importId: builtins.str
    """
    importId, segmentName and segmentCode are required when
    creating a segment for an import via the Permutive API. 
    These fields are not well documented by Permutive and as
    such they are required to be provided by the client.
    """
    segmentName: builtins.str
    segmentCode: builtins.str
    inputHasHeaders: builtins.bool
    def __init__(
        self,
        *,
        credentialsDependency: builtins.str = ...,
        importRole: global___ImportRole | None = ...,
        exportRole: global___ExportRole | None = ...,
        importId: builtins.str = ...,
        segmentName: builtins.str = ...,
        segmentCode: builtins.str = ...,
        inputHasHeaders: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["exportRole", b"exportRole", "importRole", b"importRole", "role", b"role"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["credentialsDependency", b"credentialsDependency", "exportRole", b"exportRole", "importId", b"importId", "importRole", b"importRole", "inputHasHeaders", b"inputHasHeaders", "role", b"role", "segmentCode", b"segmentCode", "segmentName", b"segmentName"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["role", b"role"]) -> typing_extensions.Literal["importRole", "exportRole"] | None: ...

global___PermutiveWorkerConfiguration = PermutiveWorkerConfiguration
