"""
@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 qwak.feature_store.entities.entity_pb2
import qwak.feature_store.features.feature_set_attribute_pb2
import qwak.feature_store.features.feature_set_state_pb2
import qwak.feature_store.features.feature_set_types_pb2
import qwak.feature_store.v1.common.source_code.source_code_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 _FeatureStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _FeatureStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FeatureStatus.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID: _FeatureStatus.ValueType  # 0
    VALID: _FeatureStatus.ValueType  # 1
    DELETED: _FeatureStatus.ValueType  # 2
    REGISTRATION_FAILED: _FeatureStatus.ValueType  # 3
    REGISTRATION_IN_PROGRESS: _FeatureStatus.ValueType  # 4
    DELETION_IN_PROGRESS: _FeatureStatus.ValueType  # 5
    DELETION_FAILED: _FeatureStatus.ValueType  # 6
    BACKFILL_IN_PROGRESS: _FeatureStatus.ValueType  # 7

class FeatureStatus(_FeatureStatus, metaclass=_FeatureStatusEnumTypeWrapper): ...

INVALID: FeatureStatus.ValueType  # 0
VALID: FeatureStatus.ValueType  # 1
DELETED: FeatureStatus.ValueType  # 2
REGISTRATION_FAILED: FeatureStatus.ValueType  # 3
REGISTRATION_IN_PROGRESS: FeatureStatus.ValueType  # 4
DELETION_IN_PROGRESS: FeatureStatus.ValueType  # 5
DELETION_FAILED: FeatureStatus.ValueType  # 6
BACKFILL_IN_PROGRESS: FeatureStatus.ValueType  # 7
global___FeatureStatus = FeatureStatus

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

class _FeaturesetSchedulingStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FeaturesetSchedulingState.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SCHEDULING_STATE_INVALID: _FeaturesetSchedulingState.ValueType  # 0
    SCHEDULING_STATE_ENABLED: _FeaturesetSchedulingState.ValueType  # 1
    """This featureset is scheduled"""
    SCHEDULING_STATE_PAUSED: _FeaturesetSchedulingState.ValueType  # 2
    """This featureset is paused"""
    SCHEDULING_STATE_UNKNOWN: _FeaturesetSchedulingState.ValueType  # 3
    """can't determine (e.g., airflow down)"""

class FeaturesetSchedulingState(_FeaturesetSchedulingState, metaclass=_FeaturesetSchedulingStateEnumTypeWrapper):
    """an enum to represent the scheduling state - that is, if it's paused/resumed etc"""

SCHEDULING_STATE_INVALID: FeaturesetSchedulingState.ValueType  # 0
SCHEDULING_STATE_ENABLED: FeaturesetSchedulingState.ValueType  # 1
"""This featureset is scheduled"""
SCHEDULING_STATE_PAUSED: FeaturesetSchedulingState.ValueType  # 2
"""This featureset is paused"""
SCHEDULING_STATE_UNKNOWN: FeaturesetSchedulingState.ValueType  # 3
"""can't determine (e.g., airflow down)"""
global___FeaturesetSchedulingState = FeaturesetSchedulingState

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

    FEATURE_SET_DEFINITION_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    DEPLOYED_MODELS_IN_USE_LINK_FIELD_NUMBER: builtins.int
    @property
    def feature_set_definition(self) -> global___FeatureSetDefinition:
        """Complete domain definition of the feature set"""
    @property
    def metadata(self) -> global___FeatureSetMetadata:
        """System generated metadata of the feature set"""
    @property
    def deployed_models_in_use_link(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeployedModelInUseLink]:
        """Deployed models which use this feature set"""
    def __init__(
        self,
        *,
        feature_set_definition: global___FeatureSetDefinition | None = ...,
        metadata: global___FeatureSetMetadata | None = ...,
        deployed_models_in_use_link: collections.abc.Iterable[global___DeployedModelInUseLink] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["feature_set_definition", b"feature_set_definition", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["deployed_models_in_use_link", b"deployed_models_in_use_link", "feature_set_definition", b"feature_set_definition", "metadata", b"metadata"]) -> None: ...

global___FeatureSet = FeatureSet

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

    FEATURESET_DEFINITION_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    @property
    def featureset_definition(self) -> global___FeatureSetDefinition:
        """Complete domain definition of the featureset"""
    @property
    def metadata(self) -> global___FeatureSetMetadata:
        """System generated metadata of the featureset"""
    def __init__(
        self,
        *,
        featureset_definition: global___FeatureSetDefinition | None = ...,
        metadata: global___FeatureSetMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["featureset_definition", b"featureset_definition", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["featureset_definition", b"featureset_definition", "metadata", b"metadata"]) -> None: ...

global___FeaturesetInfo = FeaturesetInfo

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

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    FEATURE_SET_TYPE_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Unique id"""
    name: builtins.str
    """Name of feature set"""
    @property
    def feature_set_type(self) -> qwak.feature_store.features.feature_set_types_pb2.FeatureSetType:
        """Type of feature set"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        feature_set_type: qwak.feature_store.features.feature_set_types_pb2.FeatureSetType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["feature_set_type", b"feature_set_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_set_type", b"feature_set_type", "id", b"id", "name", b"name"]) -> None: ...

global___FeaturesetSummary = FeaturesetSummary

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

    FEATURE_SET_ID_FIELD_NUMBER: builtins.int
    FEATURE_SET_SPEC_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    FEATURE_SET_LAST_EXECUTION_STATE_FIELD_NUMBER: builtins.int
    FEATURE_HEALTH_FIELD_NUMBER: builtins.int
    FEATURE_SET_STATE_FIELD_NUMBER: builtins.int
    QWAK_INTERNAL_PROTOCOL_VERSION_FIELD_NUMBER: builtins.int
    FEATURESET_VERSION_NUMBER_FIELD_NUMBER: builtins.int
    feature_set_id: builtins.str
    """Assigned unique id"""
    @property
    def feature_set_spec(self) -> global___FeatureSetSpec:
        """Specifications of the feature set"""
    status: global___FeatureStatus.ValueType
    """Feature Status"""
    feature_set_last_execution_state: qwak.feature_store.features.feature_set_state_pb2.FeatureSetLastExecutionState.ValueType
    """Feature set airflow state"""
    feature_health: qwak.feature_store.features.feature_set_state_pb2.FeatureSetLastExecutionState.ValueType
    """Feature set Health"""
    @property
    def feature_set_state(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.feature_store.features.feature_set_state_pb2.FeatureSetState]:
        """The state of the feature set"""
    qwak_internal_protocol_version: builtins.int
    """Qwak featureset version"""
    featureset_version_number: builtins.int
    """Featureset Version number"""
    def __init__(
        self,
        *,
        feature_set_id: builtins.str = ...,
        feature_set_spec: global___FeatureSetSpec | None = ...,
        status: global___FeatureStatus.ValueType = ...,
        feature_set_last_execution_state: qwak.feature_store.features.feature_set_state_pb2.FeatureSetLastExecutionState.ValueType = ...,
        feature_health: qwak.feature_store.features.feature_set_state_pb2.FeatureSetLastExecutionState.ValueType = ...,
        feature_set_state: collections.abc.Iterable[qwak.feature_store.features.feature_set_state_pb2.FeatureSetState] | None = ...,
        qwak_internal_protocol_version: builtins.int = ...,
        featureset_version_number: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["feature_set_spec", b"feature_set_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_health", b"feature_health", "feature_set_id", b"feature_set_id", "feature_set_last_execution_state", b"feature_set_last_execution_state", "feature_set_spec", b"feature_set_spec", "feature_set_state", b"feature_set_state", "featureset_version_number", b"featureset_version_number", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "status", b"status"]) -> None: ...

global___FeatureSetDefinition = FeatureSetDefinition

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

    NAME_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    GIT_COMMIT_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    FEATURE_SET_TYPE_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    QWAK_INTERNAL_PROTOCOL_VERSION_FIELD_NUMBER: builtins.int
    SOURCE_CODE_SPEC_FIELD_NUMBER: builtins.int
    FEATURESET_ATTRIBUTES_FIELD_NUMBER: builtins.int
    FEATURESET_REPOSITORY_NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Name of feature"""
    @property
    def metadata(self) -> global___FeatureSetUserMetadata:
        """User generated metadata of the feature set"""
    git_commit: builtins.str
    """Git commit which the feature is based on"""
    @property
    def entity(self) -> qwak.feature_store.entities.entity_pb2.EntityDefinition:
        """Entity specification used by the feature"""
    @property
    def feature_set_type(self) -> qwak.feature_store.features.feature_set_types_pb2.FeatureSetType:
        """Feature set - actual implementation of the feature"""
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Feature]:
        """List of features in the registration"""
    qwak_internal_protocol_version: builtins.int
    """Qwak featureset version"""
    @property
    def source_code_spec(self) -> qwak.feature_store.v1.common.source_code.source_code_pb2.SourceCodeSpec: ...
    @property
    def featureset_attributes(self) -> qwak.feature_store.features.feature_set_attribute_pb2.FeaturesetAttributes:
        """Featureset attributes"""
    featureset_repository_name: builtins.str
    """Featureset repository name"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        metadata: global___FeatureSetUserMetadata | None = ...,
        git_commit: builtins.str = ...,
        entity: qwak.feature_store.entities.entity_pb2.EntityDefinition | None = ...,
        feature_set_type: qwak.feature_store.features.feature_set_types_pb2.FeatureSetType | None = ...,
        features: collections.abc.Iterable[global___Feature] | None = ...,
        qwak_internal_protocol_version: builtins.int = ...,
        source_code_spec: qwak.feature_store.v1.common.source_code.source_code_pb2.SourceCodeSpec | None = ...,
        featureset_attributes: qwak.feature_store.features.feature_set_attribute_pb2.FeaturesetAttributes | None = ...,
        featureset_repository_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["entity", b"entity", "feature_set_type", b"feature_set_type", "featureset_attributes", b"featureset_attributes", "featureset_repository_identifier", b"featureset_repository_identifier", "featureset_repository_name", b"featureset_repository_name", "metadata", b"metadata", "source_code_spec", b"source_code_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["entity", b"entity", "feature_set_type", b"feature_set_type", "features", b"features", "featureset_attributes", b"featureset_attributes", "featureset_repository_identifier", b"featureset_repository_identifier", "featureset_repository_name", b"featureset_repository_name", "git_commit", b"git_commit", "metadata", b"metadata", "name", b"name", "qwak_internal_protocol_version", b"qwak_internal_protocol_version", "source_code_spec", b"source_code_spec"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["featureset_repository_identifier", b"featureset_repository_identifier"]) -> typing_extensions.Literal["featureset_repository_name"] | None: ...

global___FeatureSetSpec = FeatureSetSpec

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

    OWNER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    DISPLAY_NAME_FIELD_NUMBER: builtins.int
    FEATURESET_VERSION_USER_METADATA_FIELD_NUMBER: builtins.int
    owner: builtins.str
    """Feature set owner"""
    description: builtins.str
    """Human readable description of the feature set"""
    display_name: builtins.str
    """User friendly name of the feature set"""
    @property
    def featureset_version_user_metadata(self) -> global___FeaturesetVersionUserMetadata:
        """User generated metadata of the featureset version"""
    def __init__(
        self,
        *,
        owner: builtins.str = ...,
        description: builtins.str = ...,
        display_name: builtins.str = ...,
        featureset_version_user_metadata: global___FeaturesetVersionUserMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["featureset_version_user_metadata", b"featureset_version_user_metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "display_name", b"display_name", "featureset_version_user_metadata", b"featureset_version_user_metadata", "owner", b"owner"]) -> None: ...

global___FeatureSetUserMetadata = FeatureSetUserMetadata

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

    COMMENT_FIELD_NUMBER: builtins.int
    comment: builtins.str
    """Human-readable comment for the featureset version"""
    def __init__(
        self,
        *,
        comment: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["comment", b"comment"]) -> None: ...

global___FeaturesetVersionUserMetadata = FeaturesetVersionUserMetadata

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

    CREATED_AT_FIELD_NUMBER: builtins.int
    CREATED_BY_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_AT_FIELD_NUMBER: builtins.int
    LAST_MODIFIED_BY_FIELD_NUMBER: builtins.int
    FEATURESET_VERSION_METADATA_FIELD_NUMBER: builtins.int
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the feature set was created"""
    created_by: builtins.str
    """Created by"""
    @property
    def last_modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Last modified"""
    last_modified_by: builtins.str
    """Last modified by"""
    @property
    def featureset_version_metadata(self) -> global___FeaturesetVersionMetadata:
        """Featureset version metadata"""
    def __init__(
        self,
        *,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        created_by: builtins.str = ...,
        last_modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_modified_by: builtins.str = ...,
        featureset_version_metadata: global___FeaturesetVersionMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "featureset_version_metadata", b"featureset_version_metadata", "last_modified_at", b"last_modified_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "created_by", b"created_by", "featureset_version_metadata", b"featureset_version_metadata", "last_modified_at", b"last_modified_at", "last_modified_by", b"last_modified_by"]) -> None: ...

global___FeatureSetMetadata = FeatureSetMetadata

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

    CREATED_AT_FIELD_NUMBER: builtins.int
    CREATED_BY_FIELD_NUMBER: builtins.int
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the featureset version was created"""
    created_by: builtins.str
    """Featureset version created by"""
    def __init__(
        self,
        *,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        created_by: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at", b"created_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at", b"created_at", "created_by", b"created_by"]) -> None: ...

global___FeaturesetVersionMetadata = FeaturesetVersionMetadata

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

    MODEL_ID_FIELD_NUMBER: builtins.int
    MODEL_NAME_FIELD_NUMBER: builtins.int
    model_id: builtins.str
    """Model Id of a model which is using the Feature Set"""
    model_name: builtins.str
    """Model Name of a model which is using the Feature Set"""
    def __init__(
        self,
        *,
        model_id: builtins.str = ...,
        model_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["model_id", b"model_id", "model_name", b"model_name"]) -> None: ...

global___DeployedModelInUseLink = DeployedModelInUseLink

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

    FEATURE_NAME_FIELD_NUMBER: builtins.int
    FEATURE_TYPE_FIELD_NUMBER: builtins.int
    feature_name: builtins.str
    """Feature Name"""
    feature_type: builtins.str
    """Feature Spark Type"""
    def __init__(
        self,
        *,
        feature_name: builtins.str = ...,
        feature_type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_name", b"feature_name", "feature_type", b"feature_type"]) -> None: ...

global___Feature = Feature

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

    FEATURE_SET_SPEC_FIELD_NUMBER: builtins.int
    FEATURE_SET_ID_FIELD_NUMBER: builtins.int
    ACCOUNT_ID_FIELD_NUMBER: builtins.int
    FEATURESET_VERSION_FIELD_NUMBER: builtins.int
    @property
    def feature_set_spec(self) -> global___FeatureSetSpec:
        """Feature set spec"""
    feature_set_id: builtins.str
    """Feature set Id"""
    account_id: builtins.str
    """Account id"""
    featureset_version: builtins.int
    """Featureset version"""
    def __init__(
        self,
        *,
        feature_set_spec: global___FeatureSetSpec | None = ...,
        feature_set_id: builtins.str = ...,
        account_id: builtins.str = ...,
        featureset_version: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["feature_set_spec", b"feature_set_spec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_id", b"account_id", "feature_set_id", b"feature_set_id", "feature_set_spec", b"feature_set_spec", "featureset_version", b"featureset_version"]) -> None: ...

global___DeployedFeatureSetSpec = DeployedFeatureSetSpec

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

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

global___FeatureSetList = FeatureSetList
