"""
@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

class PopulationFileUploadUrlType(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PopulationFileUploadUrlType = PopulationFileUploadUrlType

class TimedPopulation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TIMESTAMP_COLUMN_NAME_FIELD_NUMBER: builtins.int
    POPULATION_FIELD_NUMBER: builtins.int
    timestamp_column_name: builtins.str
    """The name of the timestamp column"""
    @property
    def population(self) -> global___Population:
        """The population dataset"""
    def __init__(
        self,
        *,
        timestamp_column_name: builtins.str = ...,
        population: global___Population | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["population", b"population"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["population", b"population", "timestamp_column_name", b"timestamp_column_name"]) -> None: ...

global___TimedPopulation = TimedPopulation

class Population(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    POPULATION_FILE_FIELD_NUMBER: builtins.int
    @property
    def population_file(self) -> global___PopulationFile:
        """Reference to population dataset file"""
    def __init__(
        self,
        *,
        population_file: global___PopulationFile | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["population_file", b"population_file", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["population_file", b"population_file", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["population_file"] | None: ...

global___Population = Population

class PopulationFile(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FILE_URL_FIELD_NUMBER: builtins.int
    ARROW_SCHEMA_JSON_FIELD_NUMBER: builtins.int
    file_url: builtins.str
    """Population dataset file url"""
    @property
    def arrow_schema_json(self) -> global___ArrowSchemaJson: ...
    def __init__(
        self,
        *,
        file_url: builtins.str = ...,
        arrow_schema_json: global___ArrowSchemaJson | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["arrow_schema_json", b"arrow_schema_json", "schema", b"schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["arrow_schema_json", b"arrow_schema_json", "file_url", b"file_url", "schema", b"schema"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["schema", b"schema"]) -> typing_extensions.Literal["arrow_schema_json"] | None: ...

global___PopulationFile = PopulationFile

class ArrowSchemaJson(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCHEMA_FIELD_NUMBER: builtins.int
    schema: builtins.str
    """Schema represented as json with arrow types e.g. {"col1": "double", "clo2": {"list": {"list": "int64"}}, "col3": {"struct": [{"field1": {"struct": [{"field1": "string"}]}}}"""
    def __init__(
        self,
        *,
        schema: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["schema", b"schema"]) -> None: ...

global___ArrowSchemaJson = ArrowSchemaJson
