"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
"""

import builtins
import collections.abc
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.duration_pb2
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 _ResourceType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ResourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ResourceType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    FEATURE: _ResourceType.ValueType  # 0
    LABEL: _ResourceType.ValueType  # 1
    TRAINING_SET: _ResourceType.ValueType  # 2
    SOURCE: _ResourceType.ValueType  # 3
    FEATURE_VARIANT: _ResourceType.ValueType  # 4
    LABEL_VARIANT: _ResourceType.ValueType  # 5
    TRAINING_SET_VARIANT: _ResourceType.ValueType  # 6
    SOURCE_VARIANT: _ResourceType.ValueType  # 7
    PROVIDER: _ResourceType.ValueType  # 8
    ENTITY: _ResourceType.ValueType  # 9
    MODEL: _ResourceType.ValueType  # 10
    USER: _ResourceType.ValueType  # 11
    FEATURE_VIEW: _ResourceType.ValueType  # 12
    STREAM_CHANNEL: _ResourceType.ValueType  # 13

class ResourceType(_ResourceType, metaclass=_ResourceTypeEnumTypeWrapper): ...

FEATURE: ResourceType.ValueType  # 0
LABEL: ResourceType.ValueType  # 1
TRAINING_SET: ResourceType.ValueType  # 2
SOURCE: ResourceType.ValueType  # 3
FEATURE_VARIANT: ResourceType.ValueType  # 4
LABEL_VARIANT: ResourceType.ValueType  # 5
TRAINING_SET_VARIANT: ResourceType.ValueType  # 6
SOURCE_VARIANT: ResourceType.ValueType  # 7
PROVIDER: ResourceType.ValueType  # 8
ENTITY: ResourceType.ValueType  # 9
MODEL: ResourceType.ValueType  # 10
USER: ResourceType.ValueType  # 11
FEATURE_VIEW: ResourceType.ValueType  # 12
STREAM_CHANNEL: ResourceType.ValueType  # 13
global___ResourceType = ResourceType

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

class _ComputationModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ComputationMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PRECOMPUTED: _ComputationMode.ValueType  # 0
    CLIENT_COMPUTED: _ComputationMode.ValueType  # 1

class ComputationMode(_ComputationMode, metaclass=_ComputationModeEnumTypeWrapper): ...

PRECOMPUTED: ComputationMode.ValueType  # 0
CLIENT_COMPUTED: ComputationMode.ValueType  # 1
global___ComputationMode = ComputationMode

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

class _AggregateFunctionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AggregateFunction.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    AGGREGATE_FUNCTION_UNSPECIFIED: _AggregateFunction.ValueType  # 0
    AGGREGATE_FUNCTION_COUNT: _AggregateFunction.ValueType  # 1
    AGGREGATE_FUNCTION_MEAN: _AggregateFunction.ValueType  # 2
    AGGREGATE_FUNCTION_MIN: _AggregateFunction.ValueType  # 3
    AGGREGATE_FUNCTION_MAX: _AggregateFunction.ValueType  # 4
    AGGREGATE_FUNCTION_SUM: _AggregateFunction.ValueType  # 5
    AGGREGATE_FUNCTION_APPROXIMATE_PERCENTILE: _AggregateFunction.ValueType  # 6
    AGGREGATE_FUNCTION_APPROXIMATE_UNIQUE_COUNT: _AggregateFunction.ValueType  # 7

class AggregateFunction(_AggregateFunction, metaclass=_AggregateFunctionEnumTypeWrapper): ...

AGGREGATE_FUNCTION_UNSPECIFIED: AggregateFunction.ValueType  # 0
AGGREGATE_FUNCTION_COUNT: AggregateFunction.ValueType  # 1
AGGREGATE_FUNCTION_MEAN: AggregateFunction.ValueType  # 2
AGGREGATE_FUNCTION_MIN: AggregateFunction.ValueType  # 3
AGGREGATE_FUNCTION_MAX: AggregateFunction.ValueType  # 4
AGGREGATE_FUNCTION_SUM: AggregateFunction.ValueType  # 5
AGGREGATE_FUNCTION_APPROXIMATE_PERCENTILE: AggregateFunction.ValueType  # 6
AGGREGATE_FUNCTION_APPROXIMATE_UNIQUE_COUNT: AggregateFunction.ValueType  # 7
global___AggregateFunction = AggregateFunction

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

class _ScalarTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ScalarType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NULL: _ScalarType.ValueType  # 0
    INT: _ScalarType.ValueType  # 1
    FLOAT32: _ScalarType.ValueType  # 2
    FLOAT64: _ScalarType.ValueType  # 3
    STRING: _ScalarType.ValueType  # 4
    BOOL: _ScalarType.ValueType  # 5
    INT32: _ScalarType.ValueType  # 6
    INT64: _ScalarType.ValueType  # 7
    DATETIME: _ScalarType.ValueType  # 8
    TIMESTAMP: _ScalarType.ValueType  # 9

class ScalarType(_ScalarType, metaclass=_ScalarTypeEnumTypeWrapper): ...

NULL: ScalarType.ValueType  # 0
INT: ScalarType.ValueType  # 1
FLOAT32: ScalarType.ValueType  # 2
FLOAT64: ScalarType.ValueType  # 3
STRING: ScalarType.ValueType  # 4
BOOL: ScalarType.ValueType  # 5
INT32: ScalarType.ValueType  # 6
INT64: ScalarType.ValueType  # 7
DATETIME: ScalarType.ValueType  # 8
TIMESTAMP: ScalarType.ValueType  # 9
global___ScalarType = ScalarType

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

class _TableFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TableFormat.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ICEBERG: _TableFormat.ValueType  # 0
    DELTA: _TableFormat.ValueType  # 1

class TableFormat(_TableFormat, metaclass=_TableFormatEnumTypeWrapper): ...

ICEBERG: TableFormat.ValueType  # 0
DELTA: TableFormat.ValueType  # 1
global___TableFormat = TableFormat

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

class _CatalogTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CatalogType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    GLUE: _CatalogType.ValueType  # 0
    UNITY: _CatalogType.ValueType  # 1

class CatalogType(_CatalogType, metaclass=_CatalogTypeEnumTypeWrapper): ...

GLUE: CatalogType.ValueType  # 0
UNITY: CatalogType.ValueType  # 1
global___CatalogType = CatalogType

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

class _RefreshModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RefreshMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    REFRESH_MODE_UNSPECIFIED: _RefreshMode.ValueType  # 0
    REFRESH_MODE_AUTO: _RefreshMode.ValueType  # 1
    REFRESH_MODE_FULL: _RefreshMode.ValueType  # 2
    REFRESH_MODE_INCREMENTAL: _RefreshMode.ValueType  # 3

class RefreshMode(_RefreshMode, metaclass=_RefreshModeEnumTypeWrapper): ...

REFRESH_MODE_UNSPECIFIED: RefreshMode.ValueType  # 0
REFRESH_MODE_AUTO: RefreshMode.ValueType  # 1
REFRESH_MODE_FULL: RefreshMode.ValueType  # 2
REFRESH_MODE_INCREMENTAL: RefreshMode.ValueType  # 3
global___RefreshMode = RefreshMode

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

class _InitializeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Initialize.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INITIALIZE_UNSPECIFIED: _Initialize.ValueType  # 0
    INITIALIZE_ON_CREATE: _Initialize.ValueType  # 1
    INITIALIZE_ON_SCHEDULE: _Initialize.ValueType  # 2

class Initialize(_Initialize, metaclass=_InitializeEnumTypeWrapper): ...

INITIALIZE_UNSPECIFIED: Initialize.ValueType  # 0
INITIALIZE_ON_CREATE: Initialize.ValueType  # 1
INITIALIZE_ON_SCHEDULE: Initialize.ValueType  # 2
global___Initialize = Initialize

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

class _DeletionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeletionMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    DELETION_MODE_EXCLUDE: _DeletionMode.ValueType  # 0
    DELETION_MODE_INCLUDE: _DeletionMode.ValueType  # 1
    DELETION_MODE_ONLY: _DeletionMode.ValueType  # 2

class DeletionMode(_DeletionMode, metaclass=_DeletionModeEnumTypeWrapper): ...

DELETION_MODE_EXCLUDE: DeletionMode.ValueType  # 0
DELETION_MODE_INCLUDE: DeletionMode.ValueType  # 1
DELETION_MODE_ONLY: DeletionMode.ValueType  # 2
global___DeletionMode = DeletionMode

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

class _TrainingSetTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TrainingSetType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    TRAINING_SET_TYPE_UNSPECIFIED: _TrainingSetType.ValueType  # 0
    TRAINING_SET_TYPE_DYNAMIC: _TrainingSetType.ValueType  # 1
    TRAINING_SET_TYPE_STATIC: _TrainingSetType.ValueType  # 2
    TRAINING_SET_TYPE_VIEW: _TrainingSetType.ValueType  # 3

class TrainingSetType(_TrainingSetType, metaclass=_TrainingSetTypeEnumTypeWrapper): ...

TRAINING_SET_TYPE_UNSPECIFIED: TrainingSetType.ValueType  # 0
TRAINING_SET_TYPE_DYNAMIC: TrainingSetType.ValueType  # 1
TRAINING_SET_TYPE_STATIC: TrainingSetType.ValueType  # 2
TRAINING_SET_TYPE_VIEW: TrainingSetType.ValueType  # 3
global___TrainingSetType = TrainingSetType

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

class _JoinStrategyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_JoinStrategy.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    JOIN_STRATEGY_UNSPECIFIED: _JoinStrategy.ValueType  # 0
    JOIN_STRATEGY_INNER: _JoinStrategy.ValueType  # 1
    JOIN_STRATEGY_FULL_OUTER: _JoinStrategy.ValueType  # 2

class JoinStrategy(_JoinStrategy, metaclass=_JoinStrategyEnumTypeWrapper): ...

JOIN_STRATEGY_UNSPECIFIED: JoinStrategy.ValueType  # 0
JOIN_STRATEGY_INNER: JoinStrategy.ValueType  # 1
JOIN_STRATEGY_FULL_OUTER: JoinStrategy.ValueType  # 2
global___JoinStrategy = JoinStrategy

@typing.final
class OktaAuthConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DOMAIN_FIELD_NUMBER: builtins.int
    AUTHORIZATION_SERVER_ID_FIELD_NUMBER: builtins.int
    CLIENT_ID_FIELD_NUMBER: builtins.int
    API_CLIENT_ID_FIELD_NUMBER: builtins.int
    domain: builtins.str
    authorization_server_id: builtins.str
    client_id: builtins.str
    api_client_id: builtins.str
    def __init__(
        self,
        *,
        domain: builtins.str = ...,
        authorization_server_id: builtins.str = ...,
        client_id: builtins.str = ...,
        api_client_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["api_client_id", b"api_client_id", "authorization_server_id", b"authorization_server_id", "client_id", b"client_id", "domain", b"domain"]) -> None: ...

global___OktaAuthConfig = OktaAuthConfig

@typing.final
class PassThroughAuthConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PassThroughAuthConfig = PassThroughAuthConfig

@typing.final
class CIDRAuthConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___CIDRAuthConfig = CIDRAuthConfig

@typing.final
class AuthConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OKTA_FIELD_NUMBER: builtins.int
    PASS_THROUGH_FIELD_NUMBER: builtins.int
    CIDR_FIELD_NUMBER: builtins.int
    @property
    def okta(self) -> global___OktaAuthConfig: ...
    @property
    def pass_through(self) -> global___PassThroughAuthConfig: ...
    @property
    def cidr(self) -> global___CIDRAuthConfig: ...
    def __init__(
        self,
        *,
        okta: global___OktaAuthConfig | None = ...,
        pass_through: global___PassThroughAuthConfig | None = ...,
        cidr: global___CIDRAuthConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cidr", b"cidr", "config", b"config", "okta", b"okta", "pass_through", b"pass_through"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cidr", b"cidr", "config", b"config", "okta", b"okta", "pass_through", b"pass_through"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["config", b"config"]) -> typing.Literal["okta", "pass_through", "cidr"] | None: ...

global___AuthConfig = AuthConfig

@typing.final
class Name(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.Literal["name", b"name"]) -> None: ...

global___Name = Name

@typing.final
class NameRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def name(self) -> global___Name: ...
    def __init__(
        self,
        *,
        name: global___Name | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["name", b"name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "request_id", b"request_id"]) -> None: ...

global___NameRequest = NameRequest

@typing.final
class ErrorStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CODE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    code: builtins.int
    """The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]."""
    message: builtins.str
    """A developer-facing error message, which should be in English. Any
    user-facing error message should be localized and sent in the
    [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
    """
    @property
    def details(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.any_pb2.Any]:
        """A list of messages that carry the error details.  There will be a
        common set of message types for APIs to use.
        """

    def __init__(
        self,
        *,
        code: builtins.int = ...,
        message: builtins.str = ...,
        details: collections.abc.Iterable[google.protobuf.any_pb2.Any] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["code", b"code", "details", b"details", "message", b"message"]) -> None: ...

global___ErrorStatus = ErrorStatus

@typing.final
class ResourceStatus(google.protobuf.message.Message):
    """TODO: Deprecate this field in buildable resources when scheduling is fully implemented"""

    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[ResourceStatus._Status.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NO_STATUS: ResourceStatus._Status.ValueType  # 0
        CREATED: ResourceStatus._Status.ValueType  # 1
        PENDING: ResourceStatus._Status.ValueType  # 2
        READY: ResourceStatus._Status.ValueType  # 3
        FAILED: ResourceStatus._Status.ValueType  # 4
        RUNNING: ResourceStatus._Status.ValueType  # 5
        CANCELLED: ResourceStatus._Status.ValueType  # 6

    class Status(_Status, metaclass=_StatusEnumTypeWrapper): ...
    NO_STATUS: ResourceStatus.Status.ValueType  # 0
    CREATED: ResourceStatus.Status.ValueType  # 1
    PENDING: ResourceStatus.Status.ValueType  # 2
    READY: ResourceStatus.Status.ValueType  # 3
    FAILED: ResourceStatus.Status.ValueType  # 4
    RUNNING: ResourceStatus.Status.ValueType  # 5
    CANCELLED: ResourceStatus.Status.ValueType  # 6

    STATUS_FIELD_NUMBER: builtins.int
    ERROR_MESSAGE_FIELD_NUMBER: builtins.int
    ERROR_STATUS_FIELD_NUMBER: builtins.int
    status: global___ResourceStatus.Status.ValueType
    error_message: builtins.str
    @property
    def error_status(self) -> global___ErrorStatus: ...
    def __init__(
        self,
        *,
        status: global___ResourceStatus.Status.ValueType = ...,
        error_message: builtins.str = ...,
        error_status: global___ErrorStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["error_status", b"error_status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["error_message", b"error_message", "error_status", b"error_status", "status", b"status"]) -> None: ...

global___ResourceStatus = ResourceStatus

@typing.final
class ResourceID(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_FIELD_NUMBER: builtins.int
    RESOURCE_TYPE_FIELD_NUMBER: builtins.int
    resource_type: global___ResourceType.ValueType
    @property
    def resource(self) -> global___NameVariant: ...
    def __init__(
        self,
        *,
        resource: global___NameVariant | None = ...,
        resource_type: global___ResourceType.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource", b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource", b"resource", "resource_type", b"resource_type"]) -> None: ...

global___ResourceID = ResourceID

@typing.final
class SetStatusRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    @property
    def resource_id(self) -> global___ResourceID: ...
    @property
    def status(self) -> global___ResourceStatus: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
        status: global___ResourceStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "status", b"status"]) -> None: ...

global___SetStatusRequest = SetStatusRequest

@typing.final
class ScheduleChangeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    schedule: builtins.str
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
        schedule: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id", "schedule", b"schedule"]) -> None: ...

global___ScheduleChangeRequest = ScheduleChangeRequest

@typing.final
class NameVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___NameVariant = NameVariant

@typing.final
class NameVariantRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_VARIANT_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def name_variant(self) -> global___NameVariant: ...
    def __init__(
        self,
        *,
        name_variant: global___NameVariant | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["name_variant", b"name_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["name_variant", b"name_variant", "request_id", b"request_id"]) -> None: ...

global___NameVariantRequest = NameVariantRequest

@typing.final
class Empty(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___Empty = Empty

@typing.final
class ListRequest(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.Literal["request_id", b"request_id"]) -> None: ...

global___ListRequest = ListRequest

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

    NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DEFAULT_VARIANT_FIELD_NUMBER: builtins.int
    VARIANTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    default_variant: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def variants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        default_variant: builtins.str = ...,
        variants: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["default_variant", b"default_variant", "name", b"name", "status", b"status", "variants", b"variants"]) -> None: ...

global___Feature = Feature

@typing.final
class Columns(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    TS_FIELD_NUMBER: builtins.int
    entity: builtins.str
    value: builtins.str
    ts: builtins.str
    def __init__(
        self,
        *,
        entity: builtins.str = ...,
        value: builtins.str = ...,
        ts: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["entity", b"entity", "ts", b"ts", "value", b"value"]) -> None: ...

global___Columns = Columns

@typing.final
class PythonFunction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    QUERY_FIELD_NUMBER: builtins.int
    query: builtins.bytes
    def __init__(
        self,
        *,
        query: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["query", b"query"]) -> None: ...

global___PythonFunction = PythonFunction

@typing.final
class ResourceVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_VARIANT_FIELD_NUMBER: builtins.int
    LABEL_VARIANT_FIELD_NUMBER: builtins.int
    TRAINING_SET_VARIANT_FIELD_NUMBER: builtins.int
    SOURCE_VARIANT_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    @property
    def feature_variant(self) -> global___FeatureVariant: ...
    @property
    def label_variant(self) -> global___LabelVariant: ...
    @property
    def training_set_variant(self) -> global___TrainingSetVariant: ...
    @property
    def source_variant(self) -> global___SourceVariant: ...
    @property
    def feature_view(self) -> global___FeatureView: ...
    def __init__(
        self,
        *,
        feature_variant: global___FeatureVariant | None = ...,
        label_variant: global___LabelVariant | None = ...,
        training_set_variant: global___TrainingSetVariant | None = ...,
        source_variant: global___SourceVariant | None = ...,
        feature_view: global___FeatureView | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature_variant", b"feature_variant", "feature_view", b"feature_view", "label_variant", b"label_variant", "resource", b"resource", "source_variant", b"source_variant", "training_set_variant", b"training_set_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_variant", b"feature_variant", "feature_view", b"feature_view", "label_variant", b"label_variant", "resource", b"resource", "source_variant", b"source_variant", "training_set_variant", b"training_set_variant"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["resource", b"resource"]) -> typing.Literal["feature_variant", "label_variant", "training_set_variant", "source_variant", "feature_view"] | None: ...

global___ResourceVariant = ResourceVariant

@typing.final
class GetEquivalentRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REQUEST_ID_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def variant(self) -> global___ResourceVariant: ...
    def __init__(
        self,
        *,
        request_id: builtins.str = ...,
        variant: global___ResourceVariant | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["variant", b"variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "variant", b"variant"]) -> None: ...

global___GetEquivalentRequest = GetEquivalentRequest

@typing.final
class RunRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REQUEST_ID_FIELD_NUMBER: builtins.int
    VARIANTS_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def variants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceVariant]: ...
    def __init__(
        self,
        *,
        request_id: builtins.str = ...,
        variants: collections.abc.Iterable[global___ResourceVariant] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "variants", b"variants"]) -> None: ...

global___RunRequest = RunRequest

@typing.final
class FeatureVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    FUNCTION_FIELD_NUMBER: builtins.int
    LAST_UPDATED_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    TASK_ID_FIELD_NUMBER: builtins.int
    TASK_ID_LIST_FIELD_NUMBER: builtins.int
    ADDITIONAL_PARAMETERS_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    RESOURCE_SNOWFLAKE_CONFIG_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    OFFLINE_STORE_PROVIDER_FIELD_NUMBER: builtins.int
    OFFLINE_STORE_LOCATIONS_FIELD_NUMBER: builtins.int
    FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    FEATURE_DEFINITION_FIELD_NUMBER: builtins.int
    name: builtins.str
    variant: builtins.str
    entity: builtins.str
    owner: builtins.str
    description: builtins.str
    provider: builtins.str
    schedule: builtins.str
    mode: global___ComputationMode.ValueType
    task_id: builtins.str
    is_deleted: builtins.bool
    offline_store_provider: builtins.str
    @property
    def source(self) -> global___NameVariant: ...
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def columns(self) -> global___Columns: ...
    @property
    def function(self) -> global___PythonFunction: ...
    @property
    def last_updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def task_id_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def additional_parameters(self) -> global___FeatureParameters: ...
    @property
    def type(self) -> global___ValueType: ...
    @property
    def resource_snowflake_config(self) -> global___ResourceSnowflakeConfig: ...
    @property
    def deleted(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def offline_store_locations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Location]: ...
    @property
    def feature_views(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def feature_definition(self) -> global___FeatureDefinition: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        variant: builtins.str = ...,
        source: global___NameVariant | None = ...,
        entity: builtins.str = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        owner: builtins.str = ...,
        description: builtins.str = ...,
        provider: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        columns: global___Columns | None = ...,
        function: global___PythonFunction | None = ...,
        last_updated: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        schedule: builtins.str = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        mode: global___ComputationMode.ValueType = ...,
        task_id: builtins.str = ...,
        task_id_list: collections.abc.Iterable[builtins.str] | None = ...,
        additional_parameters: global___FeatureParameters | None = ...,
        type: global___ValueType | None = ...,
        resource_snowflake_config: global___ResourceSnowflakeConfig | None = ...,
        is_deleted: builtins.bool = ...,
        deleted: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        offline_store_provider: builtins.str = ...,
        offline_store_locations: collections.abc.Iterable[global___Location] | None = ...,
        feature_views: collections.abc.Iterable[builtins.str] | None = ...,
        feature_definition: global___FeatureDefinition | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["additional_parameters", b"additional_parameters", "columns", b"columns", "created", b"created", "deleted", b"deleted", "feature_definition", b"feature_definition", "function", b"function", "last_updated", b"last_updated", "location", b"location", "properties", b"properties", "resource_snowflake_config", b"resource_snowflake_config", "source", b"source", "status", b"status", "tags", b"tags", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["additional_parameters", b"additional_parameters", "columns", b"columns", "created", b"created", "deleted", b"deleted", "description", b"description", "entity", b"entity", "feature_definition", b"feature_definition", "feature_views", b"feature_views", "function", b"function", "is_deleted", b"is_deleted", "last_updated", b"last_updated", "location", b"location", "mode", b"mode", "name", b"name", "offline_store_locations", b"offline_store_locations", "offline_store_provider", b"offline_store_provider", "owner", b"owner", "properties", b"properties", "provider", b"provider", "resource_snowflake_config", b"resource_snowflake_config", "schedule", b"schedule", "source", b"source", "status", b"status", "tags", b"tags", "task_id", b"task_id", "task_id_list", b"task_id_list", "trainingsets", b"trainingsets", "type", b"type", "variant", b"variant"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["location", b"location"]) -> typing.Literal["columns", "function"] | None: ...

global___FeatureVariant = FeatureVariant

@typing.final
class FeatureVariantRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_VARIANT_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def feature_variant(self) -> global___FeatureVariant: ...
    def __init__(
        self,
        *,
        feature_variant: global___FeatureVariant | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature_variant", b"feature_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_variant", b"feature_variant", "request_id", b"request_id"]) -> None: ...

global___FeatureVariantRequest = FeatureVariantRequest

@typing.final
class AttributeFeatureDefinition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    INPUT_COLUMN_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def input_column(self) -> global___ColumnSchema: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        input_column: global___ColumnSchema | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["input_column", b"input_column"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["input_column", b"input_column", "name", b"name"]) -> None: ...

global___AttributeFeatureDefinition = AttributeFeatureDefinition

@typing.final
class AggregateFeatureDefinition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    INPUT_COLUMN_FIELD_NUMBER: builtins.int
    FUNCTION_FIELD_NUMBER: builtins.int
    TIME_WINDOW_FIELD_NUMBER: builtins.int
    name: builtins.str
    function: global___AggregateFunction.ValueType
    @property
    def input_column(self) -> global___ColumnSchema: ...
    @property
    def time_window(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        input_column: global___ColumnSchema | None = ...,
        function: global___AggregateFunction.ValueType = ...,
        time_window: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["input_column", b"input_column", "time_window", b"time_window"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["function", b"function", "input_column", b"input_column", "name", b"name", "time_window", b"time_window"]) -> None: ...

global___AggregateFeatureDefinition = AggregateFeatureDefinition

@typing.final
class FeatureDefinition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ATTRIBUTE_FIELD_NUMBER: builtins.int
    AGGREGATE_FIELD_NUMBER: builtins.int
    REALTIME_FIELD_NUMBER: builtins.int
    @property
    def attribute(self) -> global___AttributeFeatureDefinition: ...
    @property
    def aggregate(self) -> global___AggregateFeatureDefinition: ...
    @property
    def realtime(self) -> global___RealtimeFeatureDefinition: ...
    def __init__(
        self,
        *,
        attribute: global___AttributeFeatureDefinition | None = ...,
        aggregate: global___AggregateFeatureDefinition | None = ...,
        realtime: global___RealtimeFeatureDefinition | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["aggregate", b"aggregate", "attribute", b"attribute", "definition", b"definition", "realtime", b"realtime"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["aggregate", b"aggregate", "attribute", b"attribute", "definition", b"definition", "realtime", b"realtime"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["definition", b"definition"]) -> typing.Literal["attribute", "aggregate", "realtime"] | None: ...

global___FeatureDefinition = FeatureDefinition

@typing.final
class FeatureInput(google.protobuf.message.Message):
    """Specifies a pre-computed feature as input to a realtime feature function.
    The feature value is fetched from the inference store at serving time.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_FIELD_NUMBER: builtins.int
    @property
    def feature(self) -> global___NameVariant:
        """The feature to fetch (name, variant)"""

    def __init__(
        self,
        *,
        feature: global___NameVariant | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature", b"feature"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature", b"feature"]) -> None: ...

global___FeatureInput = FeatureInput

@typing.final
class RealtimeInput(google.protobuf.message.Message):
    """Specifies a real-time value as input to a realtime feature function.
    The value is provided at serving time from the request.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAMETER_NAME_FIELD_NUMBER: builtins.int
    TRAINING_FEATURE_FIELD_NUMBER: builtins.int
    parameter_name: builtins.str
    """Function parameter name this input maps to"""
    @property
    def training_feature(self) -> global___NameVariant:
        """Optional backing feature for training support"""

    def __init__(
        self,
        *,
        parameter_name: builtins.str = ...,
        training_feature: global___NameVariant | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["training_feature", b"training_feature"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["parameter_name", b"parameter_name", "training_feature", b"training_feature"]) -> None: ...

global___RealtimeInput = RealtimeInput

@typing.final
class RealtimeFeatureInput(google.protobuf.message.Message):
    """Union type for realtime feature inputs - either a pre-computed feature or a real-time value."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_INPUT_FIELD_NUMBER: builtins.int
    REALTIME_INPUT_FIELD_NUMBER: builtins.int
    @property
    def feature_input(self) -> global___FeatureInput: ...
    @property
    def realtime_input(self) -> global___RealtimeInput: ...
    def __init__(
        self,
        *,
        feature_input: global___FeatureInput | None = ...,
        realtime_input: global___RealtimeInput | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature_input", b"feature_input", "input_type", b"input_type", "realtime_input", b"realtime_input"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_input", b"feature_input", "input_type", b"input_type", "realtime_input", b"realtime_input"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["input_type", b"input_type"]) -> typing.Literal["feature_input", "realtime_input"] | None: ...

global___RealtimeFeatureInput = RealtimeFeatureInput

@typing.final
class RealtimeFeatureDefinition(google.protobuf.message.Message):
    """Definition for a realtime feature that executes a Python function at serving time.
    Combines real-time request data with pre-computed feature values.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SERIALIZED_FUNCTION_FIELD_NUMBER: builtins.int
    FUNCTION_SOURCE_FIELD_NUMBER: builtins.int
    INPUTS_FIELD_NUMBER: builtins.int
    REQUIREMENTS_FIELD_NUMBER: builtins.int
    RETURN_TYPE_FIELD_NUMBER: builtins.int
    serialized_function: builtins.bytes
    """Cloudpickle-serialized Python function"""
    function_source: builtins.str
    """Human-readable source code for display"""
    return_type: builtins.str
    """TODO: Check if we truly need this field
    Return type hint from function signature
    """
    @property
    def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RealtimeFeatureInput]:
        """Input specifications in function parameter order"""

    @property
    def requirements(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Python package requirements (e.g., "numpy>=1.24.0")"""

    def __init__(
        self,
        *,
        serialized_function: builtins.bytes = ...,
        function_source: builtins.str = ...,
        inputs: collections.abc.Iterable[global___RealtimeFeatureInput] | None = ...,
        requirements: collections.abc.Iterable[builtins.str] | None = ...,
        return_type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["function_source", b"function_source", "inputs", b"inputs", "requirements", b"requirements", "return_type", b"return_type", "serialized_function", b"serialized_function"]) -> None: ...

global___RealtimeFeatureDefinition = RealtimeFeatureDefinition

@typing.final
class ValueType(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCALAR_FIELD_NUMBER: builtins.int
    VECTOR_FIELD_NUMBER: builtins.int
    scalar: global___ScalarType.ValueType
    @property
    def vector(self) -> global___VectorType: ...
    def __init__(
        self,
        *,
        scalar: global___ScalarType.ValueType = ...,
        vector: global___VectorType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["Type", b"Type", "scalar", b"scalar", "vector", b"vector"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["Type", b"Type", "scalar", b"scalar", "vector", b"vector"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["Type", b"Type"]) -> typing.Literal["scalar", "vector"] | None: ...

global___ValueType = ValueType

@typing.final
class VectorType(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCALAR_FIELD_NUMBER: builtins.int
    DIMENSION_FIELD_NUMBER: builtins.int
    IS_EMBEDDING_FIELD_NUMBER: builtins.int
    scalar: global___ScalarType.ValueType
    dimension: builtins.int
    is_embedding: builtins.bool
    def __init__(
        self,
        *,
        scalar: global___ScalarType.ValueType = ...,
        dimension: builtins.int = ...,
        is_embedding: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["dimension", b"dimension", "is_embedding", b"is_embedding", "scalar", b"scalar"]) -> None: ...

global___VectorType = VectorType

@typing.final
class FeatureParameters(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PRECOMPUTED_FIELD_NUMBER: builtins.int
    ONDEMAND_FIELD_NUMBER: builtins.int
    @property
    def precomputed(self) -> global___PrecomputedFeatureParameters: ...
    @property
    def ondemand(self) -> global___OndemandFeatureParameters: ...
    def __init__(
        self,
        *,
        precomputed: global___PrecomputedFeatureParameters | None = ...,
        ondemand: global___OndemandFeatureParameters | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature_type", b"feature_type", "ondemand", b"ondemand", "precomputed", b"precomputed"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_type", b"feature_type", "ondemand", b"ondemand", "precomputed", b"precomputed"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["feature_type", b"feature_type"]) -> typing.Literal["precomputed", "ondemand"] | None: ...

global___FeatureParameters = FeatureParameters

@typing.final
class PrecomputedFeatureParameters(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PrecomputedFeatureParameters = PrecomputedFeatureParameters

@typing.final
class OndemandFeatureParameters(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEFINITION_FIELD_NUMBER: builtins.int
    definition: builtins.str
    def __init__(
        self,
        *,
        definition: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["definition", b"definition"]) -> None: ...

global___OndemandFeatureParameters = OndemandFeatureParameters

@typing.final
class FeatureLag(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    LAG_FIELD_NUMBER: builtins.int
    feature: builtins.str
    variant: builtins.str
    name: builtins.str
    @property
    def lag(self) -> google.protobuf.duration_pb2.Duration: ...
    def __init__(
        self,
        *,
        feature: builtins.str = ...,
        variant: builtins.str = ...,
        name: builtins.str = ...,
        lag: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["lag", b"lag"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature", b"feature", "lag", b"lag", "name", b"name", "variant", b"variant"]) -> None: ...

global___FeatureLag = FeatureLag

@typing.final
class Label(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DEFAULT_VARIANT_FIELD_NUMBER: builtins.int
    VARIANTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    default_variant: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def variants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        default_variant: builtins.str = ...,
        variants: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["default_variant", b"default_variant", "name", b"name", "status", b"status", "variants", b"variants"]) -> None: ...

global___Label = Label

@typing.final
class LabelVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    ENTITY_MAPPINGS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    TASK_ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    TASK_ID_LIST_FIELD_NUMBER: builtins.int
    RESOURCE_SNOWFLAKE_CONFIG_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    name: builtins.str
    variant: builtins.str
    description: builtins.str
    entity: builtins.str
    owner: builtins.str
    provider: builtins.str
    task_id: builtins.str
    is_deleted: builtins.bool
    @property
    def source(self) -> global___NameVariant: ...
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def columns(self) -> global___Columns: ...
    @property
    def entity_mappings(self) -> global___EntityMappings: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def type(self) -> global___ValueType: ...
    @property
    def task_id_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource_snowflake_config(self) -> global___ResourceSnowflakeConfig: ...
    @property
    def deleted(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        variant: builtins.str = ...,
        description: builtins.str = ...,
        source: global___NameVariant | None = ...,
        entity: builtins.str = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        owner: builtins.str = ...,
        provider: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        columns: global___Columns | None = ...,
        entity_mappings: global___EntityMappings | None = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        task_id: builtins.str = ...,
        type: global___ValueType | None = ...,
        task_id_list: collections.abc.Iterable[builtins.str] | None = ...,
        resource_snowflake_config: global___ResourceSnowflakeConfig | None = ...,
        is_deleted: builtins.bool = ...,
        deleted: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["columns", b"columns", "created", b"created", "deleted", b"deleted", "entity_mappings", b"entity_mappings", "location", b"location", "properties", b"properties", "resource_snowflake_config", b"resource_snowflake_config", "source", b"source", "status", b"status", "tags", b"tags", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["columns", b"columns", "created", b"created", "deleted", b"deleted", "description", b"description", "entity", b"entity", "entity_mappings", b"entity_mappings", "is_deleted", b"is_deleted", "location", b"location", "name", b"name", "owner", b"owner", "properties", b"properties", "provider", b"provider", "resource_snowflake_config", b"resource_snowflake_config", "source", b"source", "status", b"status", "tags", b"tags", "task_id", b"task_id", "task_id_list", b"task_id_list", "trainingsets", b"trainingsets", "type", b"type", "variant", b"variant"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["location", b"location"]) -> typing.Literal["columns", "entity_mappings"] | None: ...

global___LabelVariant = LabelVariant

@typing.final
class EntityMappings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MAPPINGS_FIELD_NUMBER: builtins.int
    VALUE_COLUMN_FIELD_NUMBER: builtins.int
    TIMESTAMP_COLUMN_FIELD_NUMBER: builtins.int
    value_column: builtins.str
    timestamp_column: builtins.str
    @property
    def mappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EntityMapping]: ...
    def __init__(
        self,
        *,
        mappings: collections.abc.Iterable[global___EntityMapping] | None = ...,
        value_column: builtins.str = ...,
        timestamp_column: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["mappings", b"mappings", "timestamp_column", b"timestamp_column", "value_column", b"value_column"]) -> None: ...

global___EntityMappings = EntityMappings

@typing.final
class EntityMapping(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___EntityMapping = EntityMapping

@typing.final
class LabelVariantRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LABEL_VARIANT_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def label_variant(self) -> global___LabelVariant: ...
    def __init__(
        self,
        *,
        label_variant: global___LabelVariant | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["label_variant", b"label_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["label_variant", b"label_variant", "request_id", b"request_id"]) -> None: ...

global___LabelVariantRequest = LabelVariantRequest

@typing.final
class Provider(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    SOFTWARE_FIELD_NUMBER: builtins.int
    TEAM_FIELD_NUMBER: builtins.int
    SERIALIZED_CONFIG_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    SOURCES_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    type: builtins.str
    software: builtins.str
    team: builtins.str
    serialized_config: builtins.bytes
    is_deleted: builtins.bool
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def deleted(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
        type: builtins.str = ...,
        software: builtins.str = ...,
        team: builtins.str = ...,
        serialized_config: builtins.bytes = ...,
        status: global___ResourceStatus | None = ...,
        sources: collections.abc.Iterable[global___NameVariant] | None = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        labels: collections.abc.Iterable[global___NameVariant] | None = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        is_deleted: builtins.bool = ...,
        deleted: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["deleted", b"deleted", "properties", b"properties", "status", b"status", "tags", b"tags"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["deleted", b"deleted", "description", b"description", "features", b"features", "is_deleted", b"is_deleted", "labels", b"labels", "name", b"name", "properties", b"properties", "serialized_config", b"serialized_config", "software", b"software", "sources", b"sources", "status", b"status", "tags", b"tags", "team", b"team", "trainingsets", b"trainingsets", "type", b"type"]) -> None: ...

global___Provider = Provider

@typing.final
class ProviderRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROVIDER_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def provider(self) -> global___Provider: ...
    def __init__(
        self,
        *,
        provider: global___Provider | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["provider", b"provider"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["provider", b"provider", "request_id", b"request_id"]) -> None: ...

global___ProviderRequest = ProviderRequest

@typing.final
class TrainingSet(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DEFAULT_VARIANT_FIELD_NUMBER: builtins.int
    VARIANTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    default_variant: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def variants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        default_variant: builtins.str = ...,
        variants: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["default_variant", b"default_variant", "name", b"name", "status", b"status", "variants", b"variants"]) -> None: ...

global___TrainingSet = TrainingSet

@typing.final
class TrainingSetVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    LABEL_FIELD_NUMBER: builtins.int
    LAST_UPDATED_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    FEATURE_LAGS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    TASK_ID_FIELD_NUMBER: builtins.int
    TASK_ID_LIST_FIELD_NUMBER: builtins.int
    RESOURCE_SNOWFLAKE_CONFIG_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    variant: builtins.str
    description: builtins.str
    owner: builtins.str
    provider: builtins.str
    schedule: builtins.str
    task_id: builtins.str
    is_deleted: builtins.bool
    type: global___TrainingSetType.ValueType
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def label(self) -> global___NameVariant: ...
    @property
    def last_updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def feature_lags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureLag]: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def task_id_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def resource_snowflake_config(self) -> global___ResourceSnowflakeConfig: ...
    @property
    def deleted(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        variant: builtins.str = ...,
        description: builtins.str = ...,
        owner: builtins.str = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        provider: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        label: global___NameVariant | None = ...,
        last_updated: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        schedule: builtins.str = ...,
        feature_lags: collections.abc.Iterable[global___FeatureLag] | None = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        task_id: builtins.str = ...,
        task_id_list: collections.abc.Iterable[builtins.str] | None = ...,
        resource_snowflake_config: global___ResourceSnowflakeConfig | None = ...,
        is_deleted: builtins.bool = ...,
        deleted: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        type: global___TrainingSetType.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "deleted", b"deleted", "label", b"label", "last_updated", b"last_updated", "properties", b"properties", "resource_snowflake_config", b"resource_snowflake_config", "status", b"status", "tags", b"tags"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["created", b"created", "deleted", b"deleted", "description", b"description", "feature_lags", b"feature_lags", "features", b"features", "is_deleted", b"is_deleted", "label", b"label", "last_updated", b"last_updated", "name", b"name", "owner", b"owner", "properties", b"properties", "provider", b"provider", "resource_snowflake_config", b"resource_snowflake_config", "schedule", b"schedule", "status", b"status", "tags", b"tags", "task_id", b"task_id", "task_id_list", b"task_id_list", "type", b"type", "variant", b"variant"]) -> None: ...

global___TrainingSetVariant = TrainingSetVariant

@typing.final
class TrainingSetVariantRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRAINING_SET_VARIANT_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def training_set_variant(self) -> global___TrainingSetVariant: ...
    def __init__(
        self,
        *,
        training_set_variant: global___TrainingSetVariant | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["training_set_variant", b"training_set_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "training_set_variant", b"training_set_variant"]) -> None: ...

global___TrainingSetVariantRequest = TrainingSetVariantRequest

@typing.final
class Entity(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def feature_views(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        labels: collections.abc.Iterable[global___NameVariant] | None = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        feature_views: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["properties", b"properties", "status", b"status", "tags", b"tags"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["description", b"description", "feature_views", b"feature_views", "features", b"features", "labels", b"labels", "name", b"name", "properties", b"properties", "status", b"status", "tags", b"tags", "trainingsets", b"trainingsets"]) -> None: ...

global___Entity = Entity

@typing.final
class EntityRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def entity(self) -> global___Entity: ...
    def __init__(
        self,
        *,
        entity: global___Entity | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["entity", b"entity"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["entity", b"entity", "request_id", b"request_id"]) -> None: ...

global___EntityRequest = EntityRequest

@typing.final
class Model(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        labels: collections.abc.Iterable[global___NameVariant] | None = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["properties", b"properties", "tags", b"tags"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["description", b"description", "features", b"features", "labels", b"labels", "name", b"name", "properties", b"properties", "tags", b"tags", "trainingsets", b"trainingsets"]) -> None: ...

global___Model = Model

@typing.final
class ModelRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def model(self) -> global___Model: ...
    def __init__(
        self,
        *,
        model: global___Model | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["model", b"model"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["model", b"model", "request_id", b"request_id"]) -> None: ...

global___ModelRequest = ModelRequest

@typing.final
class StreamChannel(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    CHANNEL_NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    LAST_UPDATED_FIELD_NUMBER: builtins.int
    name: builtins.str
    channel_name: builtins.str
    provider: builtins.str
    owner: builtins.str
    description: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        channel_name: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        provider: builtins.str = ...,
        owner: builtins.str = ...,
        description: builtins.str = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_updated: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "last_updated", b"last_updated", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["channel_name", b"channel_name", "created", b"created", "description", b"description", "last_updated", b"last_updated", "name", b"name", "owner", b"owner", "provider", b"provider", "status", b"status"]) -> None: ...

global___StreamChannel = StreamChannel

@typing.final
class StreamChannelRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REQUEST_ID_FIELD_NUMBER: builtins.int
    STREAM_CHANNEL_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def stream_channel(self) -> global___StreamChannel: ...
    def __init__(
        self,
        *,
        request_id: builtins.str = ...,
        stream_channel: global___StreamChannel | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["stream_channel", b"stream_channel"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "stream_channel", b"stream_channel"]) -> None: ...

global___StreamChannelRequest = StreamChannelRequest

@typing.final
class User(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    SOURCES_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def feature_views(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        labels: collections.abc.Iterable[global___NameVariant] | None = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        sources: collections.abc.Iterable[global___NameVariant] | None = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        feature_views: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["properties", b"properties", "status", b"status", "tags", b"tags"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_views", b"feature_views", "features", b"features", "labels", b"labels", "name", b"name", "properties", b"properties", "sources", b"sources", "status", b"status", "tags", b"tags", "trainingsets", b"trainingsets"]) -> None: ...

global___User = User

@typing.final
class UserRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def user(self) -> global___User: ...
    def __init__(
        self,
        *,
        user: global___User | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "user", b"user"]) -> None: ...

global___UserRequest = UserRequest

@typing.final
class Source(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DEFAULT_VARIANT_FIELD_NUMBER: builtins.int
    VARIANTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    default_variant: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def variants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        default_variant: builtins.str = ...,
        variants: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["default_variant", b"default_variant", "name", b"name", "status", b"status", "variants", b"variants"]) -> None: ...

global___Source = Source

@typing.final
class SourceVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    TRANSFORMATION_FIELD_NUMBER: builtins.int
    PRIMARYDATA_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TABLE_FIELD_NUMBER: builtins.int
    TRAININGSETS_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    LABELS_FIELD_NUMBER: builtins.int
    LAST_UPDATED_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    TASK_ID_FIELD_NUMBER: builtins.int
    MAX_JOB_DURATION_FIELD_NUMBER: builtins.int
    TASK_ID_LIST_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    DELETED_FIELD_NUMBER: builtins.int
    name: builtins.str
    variant: builtins.str
    owner: builtins.str
    description: builtins.str
    provider: builtins.str
    table: builtins.str
    schedule: builtins.str
    task_id: builtins.str
    is_deleted: builtins.bool
    @property
    def transformation(self) -> global___Transformation: ...
    @property
    def primaryData(self) -> global___PrimaryData: ...
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def trainingsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def last_updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def tags(self) -> global___Tags: ...
    @property
    def properties(self) -> global___Properties: ...
    @property
    def max_job_duration(self) -> google.protobuf.duration_pb2.Duration: ...
    @property
    def task_id_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def deleted(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        variant: builtins.str = ...,
        transformation: global___Transformation | None = ...,
        primaryData: global___PrimaryData | None = ...,
        owner: builtins.str = ...,
        description: builtins.str = ...,
        provider: builtins.str = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        status: global___ResourceStatus | None = ...,
        table: builtins.str = ...,
        trainingsets: collections.abc.Iterable[global___NameVariant] | None = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        labels: collections.abc.Iterable[global___NameVariant] | None = ...,
        last_updated: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        schedule: builtins.str = ...,
        tags: global___Tags | None = ...,
        properties: global___Properties | None = ...,
        task_id: builtins.str = ...,
        max_job_duration: google.protobuf.duration_pb2.Duration | None = ...,
        task_id_list: collections.abc.Iterable[builtins.str] | None = ...,
        is_deleted: builtins.bool = ...,
        deleted: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "definition", b"definition", "deleted", b"deleted", "last_updated", b"last_updated", "max_job_duration", b"max_job_duration", "primaryData", b"primaryData", "properties", b"properties", "status", b"status", "tags", b"tags", "transformation", b"transformation"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["created", b"created", "definition", b"definition", "deleted", b"deleted", "description", b"description", "features", b"features", "is_deleted", b"is_deleted", "labels", b"labels", "last_updated", b"last_updated", "max_job_duration", b"max_job_duration", "name", b"name", "owner", b"owner", "primaryData", b"primaryData", "properties", b"properties", "provider", b"provider", "schedule", b"schedule", "status", b"status", "table", b"table", "tags", b"tags", "task_id", b"task_id", "task_id_list", b"task_id_list", "trainingsets", b"trainingsets", "transformation", b"transformation", "variant", b"variant"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["definition", b"definition"]) -> typing.Literal["transformation", "primaryData"] | None: ...

global___SourceVariant = SourceVariant

@typing.final
class SourceVariantRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SOURCE_VARIANT_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def source_variant(self) -> global___SourceVariant: ...
    def __init__(
        self,
        *,
        source_variant: global___SourceVariant | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["source_variant", b"source_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "source_variant", b"source_variant"]) -> None: ...

global___SourceVariantRequest = SourceVariantRequest

@typing.final
class SparkParam(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: builtins.str
    """The key of the spark parameter i.e. "spark.executor.memory" """
    value: builtins.str
    """The value of the spark parameter i.e. "2g" """
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

global___SparkParam = SparkParam

@typing.final
class WriteOption(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: builtins.str
    """The key of the write option i.e. "mode" """
    value: builtins.str
    """The value of the write option i.e. "overwrite" """
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

global___WriteOption = WriteOption

@typing.final
class TableProperty(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: builtins.str
    """The key of the table property i.e. "partitionColumn" """
    value: builtins.str
    """The value of the table property i.e. "date" """
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

global___TableProperty = TableProperty

@typing.final
class SparkFlags(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SPARK_PARAMS_FIELD_NUMBER: builtins.int
    WRITE_OPTIONS_FIELD_NUMBER: builtins.int
    TABLE_PROPERTIES_FIELD_NUMBER: builtins.int
    @property
    def spark_params(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SparkParam]: ...
    @property
    def write_options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WriteOption]: ...
    @property
    def table_properties(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TableProperty]: ...
    def __init__(
        self,
        *,
        spark_params: collections.abc.Iterable[global___SparkParam] | None = ...,
        write_options: collections.abc.Iterable[global___WriteOption] | None = ...,
        table_properties: collections.abc.Iterable[global___TableProperty] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["spark_params", b"spark_params", "table_properties", b"table_properties", "write_options", b"write_options"]) -> None: ...

global___SparkFlags = SparkFlags

@typing.final
class Location(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TABLE_FIELD_NUMBER: builtins.int
    FILESTORE_FIELD_NUMBER: builtins.int
    CATALOG_FIELD_NUMBER: builtins.int
    KAFKA_FIELD_NUMBER: builtins.int
    ONLINE_FIELD_NUMBER: builtins.int
    STREAM_CHANNEL_FIELD_NUMBER: builtins.int
    @property
    def table(self) -> global___SQLTable: ...
    @property
    def filestore(self) -> global___FileStoreTable: ...
    @property
    def catalog(self) -> global___CatalogTable: ...
    @property
    def kafka(self) -> global___Kafka: ...
    @property
    def online(self) -> global___OnlineLocation: ...
    @property
    def stream_channel(self) -> global___StreamChannel: ...
    def __init__(
        self,
        *,
        table: global___SQLTable | None = ...,
        filestore: global___FileStoreTable | None = ...,
        catalog: global___CatalogTable | None = ...,
        kafka: global___Kafka | None = ...,
        online: global___OnlineLocation | None = ...,
        stream_channel: global___StreamChannel | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["catalog", b"catalog", "filestore", b"filestore", "kafka", b"kafka", "location", b"location", "online", b"online", "stream_channel", b"stream_channel", "table", b"table"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["catalog", b"catalog", "filestore", b"filestore", "kafka", b"kafka", "location", b"location", "online", b"online", "stream_channel", b"stream_channel", "table", b"table"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["location", b"location"]) -> typing.Literal["table", "filestore", "catalog", "kafka", "online", "stream_channel"] | None: ...

global___Location = Location

@typing.final
class Transformation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SQLTRANSFORMATION_FIELD_NUMBER: builtins.int
    DFTRANSFORMATION_FIELD_NUMBER: builtins.int
    KUBERNETES_ARGS_FIELD_NUMBER: builtins.int
    HASHPARTITION_FIELD_NUMBER: builtins.int
    DAILYPARTITION_FIELD_NUMBER: builtins.int
    SPARK_FLAGS_FIELD_NUMBER: builtins.int
    TABLE_FIELD_NUMBER: builtins.int
    FILESTORE_FIELD_NUMBER: builtins.int
    CATALOG_FIELD_NUMBER: builtins.int
    KAFKA_FIELD_NUMBER: builtins.int
    STREAM_CHANNEL_FIELD_NUMBER: builtins.int
    @property
    def SQLTransformation(self) -> global___SQLTransformation: ...
    @property
    def DFTransformation(self) -> global___DFTransformation: ...
    @property
    def kubernetes_args(self) -> global___KubernetesArgs: ...
    @property
    def HashPartition(self) -> global___HashPartition: ...
    @property
    def DailyPartition(self) -> global___DailyPartition: ...
    @property
    def spark_flags(self) -> global___SparkFlags: ...
    @property
    def table(self) -> global___SQLTable: ...
    @property
    def filestore(self) -> global___FileStoreTable: ...
    @property
    def catalog(self) -> global___CatalogTable: ...
    @property
    def kafka(self) -> global___Kafka: ...
    @property
    def stream_channel(self) -> global___StreamChannel: ...
    def __init__(
        self,
        *,
        SQLTransformation: global___SQLTransformation | None = ...,
        DFTransformation: global___DFTransformation | None = ...,
        kubernetes_args: global___KubernetesArgs | None = ...,
        HashPartition: global___HashPartition | None = ...,
        DailyPartition: global___DailyPartition | None = ...,
        spark_flags: global___SparkFlags | None = ...,
        table: global___SQLTable | None = ...,
        filestore: global___FileStoreTable | None = ...,
        catalog: global___CatalogTable | None = ...,
        kafka: global___Kafka | None = ...,
        stream_channel: global___StreamChannel | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["DFTransformation", b"DFTransformation", "DailyPartition", b"DailyPartition", "HashPartition", b"HashPartition", "SQLTransformation", b"SQLTransformation", "args", b"args", "catalog", b"catalog", "filestore", b"filestore", "kafka", b"kafka", "kubernetes_args", b"kubernetes_args", "location", b"location", "partition", b"partition", "spark_flags", b"spark_flags", "stream_channel", b"stream_channel", "table", b"table", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["DFTransformation", b"DFTransformation", "DailyPartition", b"DailyPartition", "HashPartition", b"HashPartition", "SQLTransformation", b"SQLTransformation", "args", b"args", "catalog", b"catalog", "filestore", b"filestore", "kafka", b"kafka", "kubernetes_args", b"kubernetes_args", "location", b"location", "partition", b"partition", "spark_flags", b"spark_flags", "stream_channel", b"stream_channel", "table", b"table", "type", b"type"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["args", b"args"]) -> typing.Literal["kubernetes_args"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["location", b"location"]) -> typing.Literal["table", "filestore", "catalog", "kafka", "stream_channel"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["partition", b"partition"]) -> typing.Literal["HashPartition", "DailyPartition"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["SQLTransformation", "DFTransformation"] | None: ...

global___Transformation = Transformation

@typing.final
class HashPartition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COLUMN_FIELD_NUMBER: builtins.int
    BUCKETS_FIELD_NUMBER: builtins.int
    column: builtins.str
    buckets: builtins.int
    def __init__(
        self,
        *,
        column: builtins.str = ...,
        buckets: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["buckets", b"buckets", "column", b"column"]) -> None: ...

global___HashPartition = HashPartition

@typing.final
class DailyPartition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COLUMN_FIELD_NUMBER: builtins.int
    column: builtins.str
    def __init__(
        self,
        *,
        column: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["column", b"column"]) -> None: ...

global___DailyPartition = DailyPartition

@typing.final
class KubernetesResourceSpecs(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CPU_REQUEST_FIELD_NUMBER: builtins.int
    CPU_LIMIT_FIELD_NUMBER: builtins.int
    MEMORY_REQUEST_FIELD_NUMBER: builtins.int
    MEMORY_LIMIT_FIELD_NUMBER: builtins.int
    cpu_request: builtins.str
    cpu_limit: builtins.str
    memory_request: builtins.str
    memory_limit: builtins.str
    def __init__(
        self,
        *,
        cpu_request: builtins.str = ...,
        cpu_limit: builtins.str = ...,
        memory_request: builtins.str = ...,
        memory_limit: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cpu_limit", b"cpu_limit", "cpu_request", b"cpu_request", "memory_limit", b"memory_limit", "memory_request", b"memory_request"]) -> None: ...

global___KubernetesResourceSpecs = KubernetesResourceSpecs

@typing.final
class KubernetesArgs(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DOCKER_IMAGE_FIELD_NUMBER: builtins.int
    SPECS_FIELD_NUMBER: builtins.int
    docker_image: builtins.str
    @property
    def specs(self) -> global___KubernetesResourceSpecs: ...
    def __init__(
        self,
        *,
        docker_image: builtins.str = ...,
        specs: global___KubernetesResourceSpecs | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["specs", b"specs"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["docker_image", b"docker_image", "specs", b"specs"]) -> None: ...

global___KubernetesArgs = KubernetesArgs

@typing.final
class SQLTransformation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    QUERY_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    IS_INCREMENTAL_FIELD_NUMBER: builtins.int
    INCREMENTAL_SOURCE_FIELD_NUMBER: builtins.int
    RESOURCE_SNOWFLAKE_CONFIG_FIELD_NUMBER: builtins.int
    query: builtins.str
    is_incremental: builtins.bool
    @property
    def source(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def incremental_source(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]:
        """This will be a list of NameVariants that also exist in source but
        that were wrapped with ff.incremental
        """

    @property
    def resource_snowflake_config(self) -> global___ResourceSnowflakeConfig: ...
    def __init__(
        self,
        *,
        query: builtins.str = ...,
        source: collections.abc.Iterable[global___NameVariant] | None = ...,
        is_incremental: builtins.bool = ...,
        incremental_source: collections.abc.Iterable[global___NameVariant] | None = ...,
        resource_snowflake_config: global___ResourceSnowflakeConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_snowflake_config", b"resource_snowflake_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["incremental_source", b"incremental_source", "is_incremental", b"is_incremental", "query", b"query", "resource_snowflake_config", b"resource_snowflake_config", "source", b"source"]) -> None: ...

global___SQLTransformation = SQLTransformation

@typing.final
class DFTransformation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    QUERY_FIELD_NUMBER: builtins.int
    INPUTS_FIELD_NUMBER: builtins.int
    SOURCE_TEXT_FIELD_NUMBER: builtins.int
    IS_INCREMENTAL_FIELD_NUMBER: builtins.int
    INCREMENTAL_SOURCES_FIELD_NUMBER: builtins.int
    CANONICAL_FUNC_TEXT_FIELD_NUMBER: builtins.int
    query: builtins.bytes
    source_text: builtins.str
    is_incremental: builtins.bool
    canonical_func_text: builtins.str
    @property
    def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def incremental_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]:
        """This will be a list of NameVariants that also exist in source but
        that were wrapped with ff.incremental
        """

    def __init__(
        self,
        *,
        query: builtins.bytes = ...,
        inputs: collections.abc.Iterable[global___NameVariant] | None = ...,
        source_text: builtins.str = ...,
        is_incremental: builtins.bool = ...,
        incremental_sources: collections.abc.Iterable[global___NameVariant] | None = ...,
        canonical_func_text: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["canonical_func_text", b"canonical_func_text", "incremental_sources", b"incremental_sources", "inputs", b"inputs", "is_incremental", b"is_incremental", "query", b"query", "source_text", b"source_text"]) -> None: ...

global___DFTransformation = DFTransformation

@typing.final
class PrimaryData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TABLE_FIELD_NUMBER: builtins.int
    FILESTORE_FIELD_NUMBER: builtins.int
    CATALOG_FIELD_NUMBER: builtins.int
    KAFKA_FIELD_NUMBER: builtins.int
    STREAM_CHANNEL_FIELD_NUMBER: builtins.int
    TIMESTAMP_COLUMN_FIELD_NUMBER: builtins.int
    timestamp_column: builtins.str
    @property
    def table(self) -> global___SQLTable: ...
    @property
    def filestore(self) -> global___FileStoreTable: ...
    @property
    def catalog(self) -> global___CatalogTable: ...
    @property
    def kafka(self) -> global___Kafka: ...
    @property
    def stream_channel(self) -> global___StreamChannel: ...
    def __init__(
        self,
        *,
        table: global___SQLTable | None = ...,
        filestore: global___FileStoreTable | None = ...,
        catalog: global___CatalogTable | None = ...,
        kafka: global___Kafka | None = ...,
        stream_channel: global___StreamChannel | None = ...,
        timestamp_column: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["catalog", b"catalog", "filestore", b"filestore", "kafka", b"kafka", "location", b"location", "stream_channel", b"stream_channel", "table", b"table"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["catalog", b"catalog", "filestore", b"filestore", "kafka", b"kafka", "location", b"location", "stream_channel", b"stream_channel", "table", b"table", "timestamp_column", b"timestamp_column"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["location", b"location"]) -> typing.Literal["table", "filestore", "catalog", "kafka", "stream_channel"] | None: ...

global___PrimaryData = PrimaryData

@typing.final
class SQLTable(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___SQLTable = SQLTable

@typing.final
class FileStoreTable(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PATH_FIELD_NUMBER: builtins.int
    path: builtins.str
    def __init__(
        self,
        *,
        path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["path", b"path"]) -> None: ...

global___FileStoreTable = FileStoreTable

@typing.final
class Kafka(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOPIC_FIELD_NUMBER: builtins.int
    topic: builtins.str
    def __init__(
        self,
        *,
        topic: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["topic", b"topic"]) -> None: ...

global___Kafka = Kafka

@typing.final
class CatalogTable(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATABASE_FIELD_NUMBER: builtins.int
    TABLE_FIELD_NUMBER: builtins.int
    TABLE_FORMAT_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    CATALOG_TYPE_FIELD_NUMBER: builtins.int
    database: builtins.str
    table: builtins.str
    table_format: builtins.str
    schema: builtins.str
    catalog_type: global___CatalogType.ValueType
    def __init__(
        self,
        *,
        database: builtins.str = ...,
        table: builtins.str = ...,
        table_format: builtins.str = ...,
        schema: builtins.str = ...,
        catalog_type: global___CatalogType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["catalog_type", b"catalog_type", "database", b"database", "schema", b"schema", "table", b"table", "table_format", b"table_format"]) -> None: ...

global___CatalogTable = CatalogTable

@typing.final
class Tags(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TAG_FIELD_NUMBER: builtins.int
    @property
    def tag(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        tag: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["tag", b"tag"]) -> None: ...

global___Tags = Tags

@typing.final
class Property(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STRING_VALUE_FIELD_NUMBER: builtins.int
    string_value: builtins.str
    def __init__(
        self,
        *,
        string_value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["string_value", b"string_value", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["string_value", b"string_value", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["string_value"] | None: ...

global___Property = Property

@typing.final
class Properties(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class PropertyEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> global___Property: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___Property | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    PROPERTY_FIELD_NUMBER: builtins.int
    @property
    def property(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___Property]: ...
    def __init__(
        self,
        *,
        property: collections.abc.Mapping[builtins.str, global___Property] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["property", b"property"]) -> None: ...

global___Properties = Properties

@typing.final
class ResourceSnowflakeConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DYNAMIC_TABLE_CONFIG_FIELD_NUMBER: builtins.int
    WAREHOUSE_FIELD_NUMBER: builtins.int
    warehouse: builtins.str
    @property
    def dynamic_table_config(self) -> global___SnowflakeDynamicTableConfig: ...
    def __init__(
        self,
        *,
        dynamic_table_config: global___SnowflakeDynamicTableConfig | None = ...,
        warehouse: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["dynamic_table_config", b"dynamic_table_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dynamic_table_config", b"dynamic_table_config", "warehouse", b"warehouse"]) -> None: ...

global___ResourceSnowflakeConfig = ResourceSnowflakeConfig

@typing.final
class SnowflakeDynamicTableConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TARGET_LAG_FIELD_NUMBER: builtins.int
    REFRESH_MODE_FIELD_NUMBER: builtins.int
    INITIALIZE_FIELD_NUMBER: builtins.int
    target_lag: builtins.str
    refresh_mode: global___RefreshMode.ValueType
    initialize: global___Initialize.ValueType
    def __init__(
        self,
        *,
        target_lag: builtins.str = ...,
        refresh_mode: global___RefreshMode.ValueType = ...,
        initialize: global___Initialize.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["initialize", b"initialize", "refresh_mode", b"refresh_mode", "target_lag", b"target_lag"]) -> None: ...

global___SnowflakeDynamicTableConfig = SnowflakeDynamicTableConfig

@typing.final
class MarkForDeletionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> None: ...

global___MarkForDeletionRequest = MarkForDeletionRequest

@typing.final
class MarkForDeletionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_ID_FIELD_NUMBER: builtins.int
    task_id: builtins.str
    def __init__(
        self,
        *,
        task_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["task_id", b"task_id"]) -> None: ...

global___MarkForDeletionResponse = MarkForDeletionResponse

@typing.final
class FinalizeDeletionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> None: ...

global___FinalizeDeletionRequest = FinalizeDeletionRequest

@typing.final
class FinalizeDeletionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___FinalizeDeletionResponse = FinalizeDeletionResponse

@typing.final
class GetStagedForDeletionResourceRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> None: ...

global___GetStagedForDeletionResourceRequest = GetStagedForDeletionResourceRequest

@typing.final
class GetStagedForDeletionResourceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_VARIANT_FIELD_NUMBER: builtins.int
    @property
    def resource_variant(self) -> global___ResourceVariant: ...
    def __init__(
        self,
        *,
        resource_variant: global___ResourceVariant | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_variant", b"resource_variant"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_variant", b"resource_variant"]) -> None: ...

global___GetStagedForDeletionResourceResponse = GetStagedForDeletionResourceResponse

@typing.final
class PruneResourceRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> None: ...

global___PruneResourceRequest = PruneResourceRequest

@typing.final
class PruneResourceResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_FIELD_NUMBER: builtins.int
    TASK_ID_FIELD_NUMBER: builtins.int
    task_id: builtins.str
    @property
    def resource(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource: global___ResourceID | None = ...,
        task_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource", b"resource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["resource", b"resource", "task_id", b"task_id"]) -> None: ...

global___PruneResourceResult = PruneResourceResult

@typing.final
class PruneResourceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PruneResourceResponse = PruneResourceResponse

@typing.final
class GetTaskStatusesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_IDS_FIELD_NUMBER: builtins.int
    @property
    def task_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        task_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["task_ids", b"task_ids"]) -> None: ...

global___GetTaskStatusesRequest = GetTaskStatusesRequest

@typing.final
class TaskStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    task_id: builtins.str
    @property
    def status(self) -> global___ResourceStatus: ...
    def __init__(
        self,
        *,
        task_id: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["status", b"status", "task_id", b"task_id"]) -> None: ...

global___TaskStatus = TaskStatus

@typing.final
class GetTaskStatusesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetTaskStatusesResponse = GetTaskStatusesResponse

@typing.final
class GetDownstreamDependenciesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    DEPENDENCY_TYPE_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    dependency_type: global___ResourceType.ValueType
    request_id: builtins.str
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
        dependency_type: global___ResourceType.ValueType = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dependency_type", b"dependency_type", "request_id", b"request_id", "resource_id", b"resource_id"]) -> None: ...

global___GetDownstreamDependenciesRequest = GetDownstreamDependenciesRequest

@typing.final
class GetDownstreamDependenciesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_VARIANT_FIELD_NUMBER: builtins.int
    LABEL_VARIANT_FIELD_NUMBER: builtins.int
    SOURCE_VARIANT_FIELD_NUMBER: builtins.int
    TRAINING_SET_VARIANT_FIELD_NUMBER: builtins.int
    MODEL_FIELD_NUMBER: builtins.int
    USER_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    @property
    def feature_variant(self) -> global___FeatureVariant: ...
    @property
    def label_variant(self) -> global___LabelVariant: ...
    @property
    def source_variant(self) -> global___SourceVariant: ...
    @property
    def training_set_variant(self) -> global___TrainingSetVariant: ...
    @property
    def model(self) -> global___Model: ...
    @property
    def user(self) -> global___User: ...
    @property
    def provider(self) -> global___Provider: ...
    @property
    def entity(self) -> global___Entity: ...
    @property
    def feature_view(self) -> global___FeatureView: ...
    def __init__(
        self,
        *,
        feature_variant: global___FeatureVariant | None = ...,
        label_variant: global___LabelVariant | None = ...,
        source_variant: global___SourceVariant | None = ...,
        training_set_variant: global___TrainingSetVariant | None = ...,
        model: global___Model | None = ...,
        user: global___User | None = ...,
        provider: global___Provider | None = ...,
        entity: global___Entity | None = ...,
        feature_view: global___FeatureView | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["dependent_resource", b"dependent_resource", "entity", b"entity", "feature_variant", b"feature_variant", "feature_view", b"feature_view", "label_variant", b"label_variant", "model", b"model", "provider", b"provider", "source_variant", b"source_variant", "training_set_variant", b"training_set_variant", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dependent_resource", b"dependent_resource", "entity", b"entity", "feature_variant", b"feature_variant", "feature_view", b"feature_view", "label_variant", b"label_variant", "model", b"model", "provider", b"provider", "source_variant", b"source_variant", "training_set_variant", b"training_set_variant", "user", b"user"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["dependent_resource", b"dependent_resource"]) -> typing.Literal["feature_variant", "label_variant", "source_variant", "training_set_variant", "model", "user", "provider", "entity", "feature_view"] | None: ...

global___GetDownstreamDependenciesResponse = GetDownstreamDependenciesResponse

@typing.final
class GetAllDownstreamDependenciesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    request_id: builtins.str
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["request_id", b"request_id", "resource_id", b"resource_id"]) -> None: ...

global___GetAllDownstreamDependenciesRequest = GetAllDownstreamDependenciesRequest

@typing.final
class ColumnSchema(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def type(self) -> global___ValueType: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        type: global___ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "type", b"type"]) -> None: ...

global___ColumnSchema = ColumnSchema

@typing.final
class FeatureColumn(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_COL_FIELD_NUMBER: builtins.int
    TIMESTAMP_COL_FIELD_NUMBER: builtins.int
    @property
    def feature_col(self) -> global___ColumnSchema: ...
    @property
    def timestamp_col(self) -> global___ColumnSchema: ...
    def __init__(
        self,
        *,
        feature_col: global___ColumnSchema | None = ...,
        timestamp_col: global___ColumnSchema | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature_col", b"feature_col", "timestamp_col", b"timestamp_col"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_col", b"feature_col", "timestamp_col", b"timestamp_col"]) -> None: ...

global___FeatureColumn = FeatureColumn

@typing.final
class FeaturesSchema(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITY_COL_FIELD_NUMBER: builtins.int
    FEATURE_COLS_FIELD_NUMBER: builtins.int
    @property
    def entity_col(self) -> global___ColumnSchema: ...
    @property
    def feature_cols(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureColumn]: ...
    def __init__(
        self,
        *,
        entity_col: global___ColumnSchema | None = ...,
        feature_cols: collections.abc.Iterable[global___FeatureColumn] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["entity_col", b"entity_col"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["entity_col", b"entity_col", "feature_cols", b"feature_cols"]) -> None: ...

global___FeaturesSchema = FeaturesSchema

@typing.final
class OnlineLocation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TABLE_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    table: builtins.str
    version: builtins.int
    @property
    def schema(self) -> global___FeaturesSchema: ...
    def __init__(
        self,
        *,
        table: builtins.str = ...,
        version: builtins.int = ...,
        schema: global___FeaturesSchema | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["schema", b"schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["schema", b"schema", "table", b"table", "version", b"version"]) -> None: ...

global___OnlineLocation = OnlineLocation

@typing.final
class FeatureView(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TABLE_OPTIONS_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TASK_ID_LIST_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    LAST_UPDATED_FIELD_NUMBER: builtins.int
    OFFLINE_LOCATION_FIELD_NUMBER: builtins.int
    ONLINE_LOCATION_FIELD_NUMBER: builtins.int
    OFFLINE_STORE_PROVIDER_FIELD_NUMBER: builtins.int
    name: builtins.str
    entity: builtins.str
    provider: builtins.str
    description: builtins.str
    owner: builtins.str
    offline_store_provider: builtins.str
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NameVariant]: ...
    @property
    def table_options(self) -> global___FeatureViewTableOptions: ...
    @property
    def status(self) -> global___ResourceStatus: ...
    @property
    def task_id_list(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def offline_location(self) -> global___Location: ...
    @property
    def online_location(self) -> global___Location: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        entity: builtins.str = ...,
        features: collections.abc.Iterable[global___NameVariant] | None = ...,
        provider: builtins.str = ...,
        description: builtins.str = ...,
        table_options: global___FeatureViewTableOptions | None = ...,
        owner: builtins.str = ...,
        status: global___ResourceStatus | None = ...,
        task_id_list: collections.abc.Iterable[builtins.str] | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_updated: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        offline_location: global___Location | None = ...,
        online_location: global___Location | None = ...,
        offline_store_provider: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "last_updated", b"last_updated", "offline_location", b"offline_location", "online_location", b"online_location", "status", b"status", "table_options", b"table_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["created", b"created", "description", b"description", "entity", b"entity", "features", b"features", "last_updated", b"last_updated", "name", b"name", "offline_location", b"offline_location", "offline_store_provider", b"offline_store_provider", "online_location", b"online_location", "owner", b"owner", "provider", b"provider", "status", b"status", "table_options", b"table_options", "task_id_list", b"task_id_list"]) -> None: ...

global___FeatureView = FeatureView

@typing.final
class FeatureViewTableOptions(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___FeatureViewTableOptions = FeatureViewTableOptions

@typing.final
class FeatureViewMaterializationOptions(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    JOIN_STRATEGY_FIELD_NUMBER: builtins.int
    join_strategy: global___JoinStrategy.ValueType
    def __init__(
        self,
        *,
        join_strategy: global___JoinStrategy.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["join_strategy", b"join_strategy"]) -> None: ...

global___FeatureViewMaterializationOptions = FeatureViewMaterializationOptions

@typing.final
class FeatureViewRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    MATERIALIZATION_OPTIONS_FIELD_NUMBER: builtins.int
    MATERIALIZATION_ENGINE_FIELD_NUMBER: builtins.int
    USE_SUPER_ADMIN_DELETE_OVERRIDE_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    materialization_engine: builtins.str
    use_super_admin_delete_override: builtins.bool
    request_id: builtins.str
    @property
    def feature_view(self) -> global___FeatureView: ...
    @property
    def materialization_options(self) -> global___FeatureViewMaterializationOptions: ...
    def __init__(
        self,
        *,
        feature_view: global___FeatureView | None = ...,
        materialization_options: global___FeatureViewMaterializationOptions | None = ...,
        materialization_engine: builtins.str = ...,
        use_super_admin_delete_override: builtins.bool = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["feature_view", b"feature_view", "materialization_options", b"materialization_options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["feature_view", b"feature_view", "materialization_engine", b"materialization_engine", "materialization_options", b"materialization_options", "request_id", b"request_id", "use_super_admin_delete_override", b"use_super_admin_delete_override"]) -> None: ...

global___FeatureViewRequest = FeatureViewRequest

@typing.final
class FeatureViewLocationUpdateRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    OFFLINE_LOCATION_FIELD_NUMBER: builtins.int
    ONLINE_LOCATION_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    name: builtins.str
    request_id: builtins.str
    @property
    def offline_location(self) -> global___Location: ...
    @property
    def online_location(self) -> global___Location: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        offline_location: global___Location | None = ...,
        online_location: global___Location | None = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["offline_location", b"offline_location", "online_location", b"online_location"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "offline_location", b"offline_location", "online_location", b"online_location", "request_id", b"request_id"]) -> None: ...

global___FeatureViewLocationUpdateRequest = FeatureViewLocationUpdateRequest

@typing.final
class GetUpstreamDependenciesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_ID_FIELD_NUMBER: builtins.int
    DEPENDENCY_TYPE_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    dependency_type: global___ResourceType.ValueType
    request_id: builtins.str
    @property
    def resource_id(self) -> global___ResourceID: ...
    def __init__(
        self,
        *,
        resource_id: global___ResourceID | None = ...,
        dependency_type: global___ResourceType.ValueType = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["resource_id", b"resource_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dependency_type", b"dependency_type", "request_id", b"request_id", "resource_id", b"resource_id"]) -> None: ...

global___GetUpstreamDependenciesRequest = GetUpstreamDependenciesRequest

@typing.final
class GetUpstreamDependenciesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_VARIANT_FIELD_NUMBER: builtins.int
    LABEL_VARIANT_FIELD_NUMBER: builtins.int
    SOURCE_VARIANT_FIELD_NUMBER: builtins.int
    TRAINING_SET_VARIANT_FIELD_NUMBER: builtins.int
    MODEL_FIELD_NUMBER: builtins.int
    USER_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    @property
    def feature_variant(self) -> global___FeatureVariant: ...
    @property
    def label_variant(self) -> global___LabelVariant: ...
    @property
    def source_variant(self) -> global___SourceVariant: ...
    @property
    def training_set_variant(self) -> global___TrainingSetVariant: ...
    @property
    def model(self) -> global___Model: ...
    @property
    def user(self) -> global___User: ...
    @property
    def provider(self) -> global___Provider: ...
    @property
    def entity(self) -> global___Entity: ...
    @property
    def feature_view(self) -> global___FeatureView: ...
    def __init__(
        self,
        *,
        feature_variant: global___FeatureVariant | None = ...,
        label_variant: global___LabelVariant | None = ...,
        source_variant: global___SourceVariant | None = ...,
        training_set_variant: global___TrainingSetVariant | None = ...,
        model: global___Model | None = ...,
        user: global___User | None = ...,
        provider: global___Provider | None = ...,
        entity: global___Entity | None = ...,
        feature_view: global___FeatureView | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["dependent_resource", b"dependent_resource", "entity", b"entity", "feature_variant", b"feature_variant", "feature_view", b"feature_view", "label_variant", b"label_variant", "model", b"model", "provider", b"provider", "source_variant", b"source_variant", "training_set_variant", b"training_set_variant", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dependent_resource", b"dependent_resource", "entity", b"entity", "feature_variant", b"feature_variant", "feature_view", b"feature_view", "label_variant", b"label_variant", "model", b"model", "provider", b"provider", "source_variant", b"source_variant", "training_set_variant", b"training_set_variant", "user", b"user"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["dependent_resource", b"dependent_resource"]) -> typing.Literal["feature_variant", "label_variant", "source_variant", "training_set_variant", "model", "user", "provider", "entity", "feature_view"] | None: ...

global___GetUpstreamDependenciesResponse = GetUpstreamDependenciesResponse
