"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import qwak.feature_store.features.feature_set_pb2
import qwak.feature_store.sources.data_source_pb2
import qwak.features_operator.v3.features_operator_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    DATA_SOURCE_SPEC_FIELD_NUMBER: builtins.int
    NUM_SAMPLES_FIELD_NUMBER: builtins.int
    VALIDATION_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def data_source_spec(self) -> qwak.feature_store.sources.data_source_pb2.DataSourceSpec:
        """Data source spec to validate"""
    num_samples: builtins.int
    """Number of samples to return from the validation"""
    @property
    def validation_options(self) -> global___DataSourceValidationOptions: ...
    def __init__(
        self,
        *,
        data_source_spec: qwak.feature_store.sources.data_source_pb2.DataSourceSpec | None = ...,
        num_samples: builtins.int = ...,
        validation_options: global___DataSourceValidationOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_source_spec", b"data_source_spec", "optional_validation_options", b"optional_validation_options", "validation_options", b"validation_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_source_spec", b"data_source_spec", "num_samples", b"num_samples", "optional_validation_options", b"optional_validation_options", "validation_options", b"validation_options"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_validation_options", b"optional_validation_options"]) -> typing_extensions.Literal["validation_options"] | None: ...

global___ValidateDataSourceRequest = ValidateDataSourceRequest

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

    FEATURE_SET_SPEC_FIELD_NUMBER: builtins.int
    ZIP_PATH_FIELD_NUMBER: builtins.int
    NUM_SAMPLES_FIELD_NUMBER: builtins.int
    VALIDATION_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def feature_set_spec(self) -> qwak.feature_store.features.feature_set_pb2.FeatureSetSpec:
        """Featureset spec to validate"""
    zip_path: builtins.str
    """Dependencies zip file path"""
    num_samples: builtins.int
    """Number of samples to return from the validation"""
    @property
    def validation_options(self) -> global___FeatureSetValidationOptions: ...
    def __init__(
        self,
        *,
        feature_set_spec: qwak.feature_store.features.feature_set_pb2.FeatureSetSpec | None = ...,
        zip_path: builtins.str = ...,
        num_samples: builtins.int = ...,
        validation_options: global___FeatureSetValidationOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["feature_set_spec", b"feature_set_spec", "optional_validation_options", b"optional_validation_options", "validation_options", b"validation_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_set_spec", b"feature_set_spec", "num_samples", b"num_samples", "optional_validation_options", b"optional_validation_options", "validation_options", b"validation_options", "zip_path", b"zip_path"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_validation_options", b"optional_validation_options"]) -> typing_extensions.Literal["validation_options"] | None: ...

global___ValidateFeatureSetRequest = ValidateFeatureSetRequest

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

    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    """User request token"""
    def __init__(
        self,
        *,
        request_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["request_id", b"request_id"]) -> None: ...

global___ValidationResponse = ValidationResponse

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

    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    """User request token"""
    def __init__(
        self,
        *,
        request_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["request_id", b"request_id"]) -> None: ...

global___GetValidationResultRequest = GetValidationResultRequest

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

    SUCCESS_RESPONSE_FIELD_NUMBER: builtins.int
    FAILURE_RESPONSE_FIELD_NUMBER: builtins.int
    NOT_READY_RESPONSE_FIELD_NUMBER: builtins.int
    @property
    def success_response(self) -> qwak.features_operator.v3.features_operator_pb2.ValidationSuccessResponse: ...
    @property
    def failure_response(self) -> qwak.features_operator.v3.features_operator_pb2.ValidationFailureResponse: ...
    @property
    def not_ready_response(self) -> qwak.features_operator.v3.features_operator_pb2.ValidationNotReadyResponse: ...
    def __init__(
        self,
        *,
        success_response: qwak.features_operator.v3.features_operator_pb2.ValidationSuccessResponse | None = ...,
        failure_response: qwak.features_operator.v3.features_operator_pb2.ValidationFailureResponse | None = ...,
        not_ready_response: qwak.features_operator.v3.features_operator_pb2.ValidationNotReadyResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["failure_response", b"failure_response", "not_ready_response", b"not_ready_response", "success_response", b"success_response", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure_response", b"failure_response", "not_ready_response", b"not_ready_response", "success_response", b"success_response", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["success_response", "failure_response", "not_ready_response"] | None: ...

global___GetValidationResultResponse = GetValidationResultResponse

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

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

global___CancelValidationRequest = CancelValidationRequest

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

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

global___CancelValidationResponse = CancelValidationResponse

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

    DATA_SOURCE_LIMIT_FIELD_NUMBER: builtins.int
    VALIDATION_TIME_RANGE_FIELD_NUMBER: builtins.int
    data_source_limit: builtins.int
    @property
    def validation_time_range(self) -> global___ValidationTimeRange: ...
    def __init__(
        self,
        *,
        data_source_limit: builtins.int = ...,
        validation_time_range: global___ValidationTimeRange | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_source_limit", b"data_source_limit", "optional_data_source_limit", b"optional_data_source_limit", "optional_validation_time_range", b"optional_validation_time_range", "validation_time_range", b"validation_time_range"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_source_limit", b"data_source_limit", "optional_data_source_limit", b"optional_data_source_limit", "optional_validation_time_range", b"optional_validation_time_range", "validation_time_range", b"validation_time_range"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_data_source_limit", b"optional_data_source_limit"]) -> typing_extensions.Literal["data_source_limit"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_validation_time_range", b"optional_validation_time_range"]) -> typing_extensions.Literal["validation_time_range"] | None: ...

global___FeatureSetValidationOptions = FeatureSetValidationOptions

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

    VALIDATION_TIME_RANGE_FIELD_NUMBER: builtins.int
    @property
    def validation_time_range(self) -> global___ValidationTimeRange: ...
    def __init__(
        self,
        *,
        validation_time_range: global___ValidationTimeRange | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["optional_validation_time_range", b"optional_validation_time_range", "validation_time_range", b"validation_time_range"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["optional_validation_time_range", b"optional_validation_time_range", "validation_time_range", b"validation_time_range"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_validation_time_range", b"optional_validation_time_range"]) -> typing_extensions.Literal["validation_time_range"] | None: ...

global___DataSourceValidationOptions = DataSourceValidationOptions

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

    LOWER_TIME_BOUND_FIELD_NUMBER: builtins.int
    UPPER_TIME_BOUND_FIELD_NUMBER: builtins.int
    @property
    def lower_time_bound(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def upper_time_bound(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        lower_time_bound: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        upper_time_bound: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["lower_time_bound", b"lower_time_bound", "optional_lower_time_bound", b"optional_lower_time_bound", "optional_upper_time_bound", b"optional_upper_time_bound", "upper_time_bound", b"upper_time_bound"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["lower_time_bound", b"lower_time_bound", "optional_lower_time_bound", b"optional_lower_time_bound", "optional_upper_time_bound", b"optional_upper_time_bound", "upper_time_bound", b"upper_time_bound"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_lower_time_bound", b"optional_lower_time_bound"]) -> typing_extensions.Literal["lower_time_bound"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["optional_upper_time_bound", b"optional_upper_time_bound"]) -> typing_extensions.Literal["upper_time_bound"] | None: ...

global___ValidationTimeRange = ValidationTimeRange
