"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import feast.core.DataSource_pb2
import feast.core.Entity_pb2
import feast.core.FeatureService_pb2
import feast.core.FeatureView_pb2
import feast.core.InfraObject_pb2
import feast.core.OnDemandFeatureView_pb2
import feast.core.Permission_pb2
import feast.core.Project_pb2
import feast.core.Registry_pb2
import feast.core.SavedDataset_pb2
import feast.core.StreamFeatureView_pb2
import feast.core.ValidationProfile_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class PaginationParams(google.protobuf.message.Message):
    """Common pagination and sorting messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGE_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    page: builtins.int
    """1-based page number"""
    limit: builtins.int
    """Number of items per page"""
    def __init__(
        self,
        *,
        page: builtins.int = ...,
        limit: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["limit", b"limit", "page", b"page"]) -> None: ...

global___PaginationParams = PaginationParams

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

    SORT_BY_FIELD_NUMBER: builtins.int
    SORT_ORDER_FIELD_NUMBER: builtins.int
    sort_by: builtins.str
    """Field to sort by (supports dot notation)"""
    sort_order: builtins.str
    """"asc" or "desc" """
    def __init__(
        self,
        *,
        sort_by: builtins.str = ...,
        sort_order: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sort_by", b"sort_by", "sort_order", b"sort_order"]) -> None: ...

global___SortingParams = SortingParams

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

    PAGE_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    TOTAL_COUNT_FIELD_NUMBER: builtins.int
    TOTAL_PAGES_FIELD_NUMBER: builtins.int
    HAS_NEXT_FIELD_NUMBER: builtins.int
    HAS_PREVIOUS_FIELD_NUMBER: builtins.int
    page: builtins.int
    limit: builtins.int
    total_count: builtins.int
    total_pages: builtins.int
    has_next: builtins.bool
    has_previous: builtins.bool
    def __init__(
        self,
        *,
        page: builtins.int = ...,
        limit: builtins.int = ...,
        total_count: builtins.int = ...,
        total_pages: builtins.int = ...,
        has_next: builtins.bool = ...,
        has_previous: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["has_next", b"has_next", "has_previous", b"has_previous", "limit", b"limit", "page", b"page", "total_count", b"total_count", "total_pages", b"total_pages"]) -> None: ...

global___PaginationMetadata = PaginationMetadata

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

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

global___RefreshRequest = RefreshRequest

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

    INFRA_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def infra(self) -> feast.core.InfraObject_pb2.Infra: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        infra: feast.core.InfraObject_pb2.Infra | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["infra", b"infra"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "infra", b"infra", "project", b"project"]) -> None: ...

global___UpdateInfraRequest = UpdateInfraRequest

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "project", b"project"]) -> None: ...

global___GetInfraRequest = GetInfraRequest

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "project", b"project"]) -> None: ...

global___ListProjectMetadataRequest = ListProjectMetadataRequest

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

    PROJECT_METADATA_FIELD_NUMBER: builtins.int
    @property
    def project_metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Registry_pb2.ProjectMetadata]: ...
    def __init__(
        self,
        *,
        project_metadata: collections.abc.Iterable[feast.core.Registry_pb2.ProjectMetadata] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["project_metadata", b"project_metadata"]) -> None: ...

global___ListProjectMetadataResponse = ListProjectMetadataResponse

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

    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    START_DATE_FIELD_NUMBER: builtins.int
    END_DATE_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def feature_view(self) -> feast.core.FeatureView_pb2.FeatureView: ...
    project: builtins.str
    @property
    def start_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def end_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    commit: builtins.bool
    def __init__(
        self,
        *,
        feature_view: feast.core.FeatureView_pb2.FeatureView | None = ...,
        project: builtins.str = ...,
        start_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["end_date", b"end_date", "feature_view", b"feature_view", "start_date", b"start_date"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "end_date", b"end_date", "feature_view", b"feature_view", "project", b"project", "start_date", b"start_date"]) -> None: ...

global___ApplyMaterializationRequest = ApplyMaterializationRequest

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

    ENTITY_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def entity(self) -> feast.core.Entity_pb2.Entity: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        entity: feast.core.Entity_pb2.Entity | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["entity", b"entity"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "entity", b"entity", "project", b"project"]) -> None: ...

global___ApplyEntityRequest = ApplyEntityRequest

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

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

global___GetEntityRequest = GetEntityRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListEntitiesRequest = ListEntitiesRequest

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

    ENTITIES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Entity_pb2.Entity]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        entities: collections.abc.Iterable[feast.core.Entity_pb2.Entity] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["entities", b"entities", "pagination", b"pagination"]) -> None: ...

global___ListEntitiesResponse = ListEntitiesResponse

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

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

global___DeleteEntityRequest = DeleteEntityRequest

class ApplyDataSourceRequest(google.protobuf.message.Message):
    """DataSources"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_SOURCE_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def data_source(self) -> feast.core.DataSource_pb2.DataSource: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        data_source: feast.core.DataSource_pb2.DataSource | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_source", b"data_source"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "data_source", b"data_source", "project", b"project"]) -> None: ...

global___ApplyDataSourceRequest = ApplyDataSourceRequest

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

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

global___GetDataSourceRequest = GetDataSourceRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListDataSourcesRequest = ListDataSourcesRequest

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

    DATA_SOURCES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.DataSource_pb2.DataSource]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        data_sources: collections.abc.Iterable[feast.core.DataSource_pb2.DataSource] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_sources", b"data_sources", "pagination", b"pagination"]) -> None: ...

global___ListDataSourcesResponse = ListDataSourcesResponse

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

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

global___DeleteDataSourceRequest = DeleteDataSourceRequest

class ApplyFeatureViewRequest(google.protobuf.message.Message):
    """FeatureViews"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    ON_DEMAND_FEATURE_VIEW_FIELD_NUMBER: builtins.int
    STREAM_FEATURE_VIEW_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def feature_view(self) -> feast.core.FeatureView_pb2.FeatureView: ...
    @property
    def on_demand_feature_view(self) -> feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView: ...
    @property
    def stream_feature_view(self) -> feast.core.StreamFeatureView_pb2.StreamFeatureView: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        feature_view: feast.core.FeatureView_pb2.FeatureView | None = ...,
        on_demand_feature_view: feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView | None = ...,
        stream_feature_view: feast.core.StreamFeatureView_pb2.StreamFeatureView | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["base_feature_view", b"base_feature_view", "feature_view", b"feature_view", "on_demand_feature_view", b"on_demand_feature_view", "stream_feature_view", b"stream_feature_view"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["base_feature_view", b"base_feature_view", "commit", b"commit", "feature_view", b"feature_view", "on_demand_feature_view", b"on_demand_feature_view", "project", b"project", "stream_feature_view", b"stream_feature_view"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["base_feature_view", b"base_feature_view"]) -> typing_extensions.Literal["feature_view", "on_demand_feature_view", "stream_feature_view"] | None: ...

global___ApplyFeatureViewRequest = ApplyFeatureViewRequest

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

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

global___GetFeatureViewRequest = GetFeatureViewRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListFeatureViewsRequest = ListFeatureViewsRequest

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

    FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.FeatureView_pb2.FeatureView]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        feature_views: collections.abc.Iterable[feast.core.FeatureView_pb2.FeatureView] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_views", b"feature_views", "pagination", b"pagination"]) -> None: ...

global___ListFeatureViewsResponse = ListFeatureViewsResponse

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

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

global___DeleteFeatureViewRequest = DeleteFeatureViewRequest

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

    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    ON_DEMAND_FEATURE_VIEW_FIELD_NUMBER: builtins.int
    STREAM_FEATURE_VIEW_FIELD_NUMBER: builtins.int
    @property
    def feature_view(self) -> feast.core.FeatureView_pb2.FeatureView: ...
    @property
    def on_demand_feature_view(self) -> feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView: ...
    @property
    def stream_feature_view(self) -> feast.core.StreamFeatureView_pb2.StreamFeatureView: ...
    def __init__(
        self,
        *,
        feature_view: feast.core.FeatureView_pb2.FeatureView | None = ...,
        on_demand_feature_view: feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView | None = ...,
        stream_feature_view: feast.core.StreamFeatureView_pb2.StreamFeatureView | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["any_feature_view", b"any_feature_view", "feature_view", b"feature_view", "on_demand_feature_view", b"on_demand_feature_view", "stream_feature_view", b"stream_feature_view"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["any_feature_view", b"any_feature_view", "feature_view", b"feature_view", "on_demand_feature_view", b"on_demand_feature_view", "stream_feature_view", b"stream_feature_view"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["any_feature_view", b"any_feature_view"]) -> typing_extensions.Literal["feature_view", "on_demand_feature_view", "stream_feature_view"] | None: ...

global___AnyFeatureView = AnyFeatureView

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

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

global___GetAnyFeatureViewRequest = GetAnyFeatureViewRequest

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

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

global___GetAnyFeatureViewResponse = GetAnyFeatureViewResponse

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    ENTITY_FIELD_NUMBER: builtins.int
    FEATURE_FIELD_NUMBER: builtins.int
    FEATURE_SERVICE_FIELD_NUMBER: builtins.int
    DATA_SOURCE_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    entity: builtins.str
    feature: builtins.str
    feature_service: builtins.str
    data_source: builtins.str
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        entity: builtins.str = ...,
        feature: builtins.str = ...,
        feature_service: builtins.str = ...,
        data_source: builtins.str = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "data_source", b"data_source", "entity", b"entity", "feature", b"feature", "feature_service", b"feature_service", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListAllFeatureViewsRequest = ListAllFeatureViewsRequest

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

    FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AnyFeatureView]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        feature_views: collections.abc.Iterable[global___AnyFeatureView] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_views", b"feature_views", "pagination", b"pagination"]) -> None: ...

global___ListAllFeatureViewsResponse = ListAllFeatureViewsResponse

class GetStreamFeatureViewRequest(google.protobuf.message.Message):
    """StreamFeatureView"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetStreamFeatureViewRequest = GetStreamFeatureViewRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListStreamFeatureViewsRequest = ListStreamFeatureViewsRequest

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

    STREAM_FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def stream_feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.StreamFeatureView_pb2.StreamFeatureView]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        stream_feature_views: collections.abc.Iterable[feast.core.StreamFeatureView_pb2.StreamFeatureView] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "stream_feature_views", b"stream_feature_views"]) -> None: ...

global___ListStreamFeatureViewsResponse = ListStreamFeatureViewsResponse

class GetOnDemandFeatureViewRequest(google.protobuf.message.Message):
    """OnDemandFeatureView"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetOnDemandFeatureViewRequest = GetOnDemandFeatureViewRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListOnDemandFeatureViewsRequest = ListOnDemandFeatureViewsRequest

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

    ON_DEMAND_FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def on_demand_feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        on_demand_feature_views: collections.abc.Iterable[feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["on_demand_feature_views", b"on_demand_feature_views", "pagination", b"pagination"]) -> None: ...

global___ListOnDemandFeatureViewsResponse = ListOnDemandFeatureViewsResponse

class ApplyFeatureServiceRequest(google.protobuf.message.Message):
    """FeatureServices"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURE_SERVICE_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def feature_service(self) -> feast.core.FeatureService_pb2.FeatureService: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        feature_service: feast.core.FeatureService_pb2.FeatureService | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["feature_service", b"feature_service"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "feature_service", b"feature_service", "project", b"project"]) -> None: ...

global___ApplyFeatureServiceRequest = ApplyFeatureServiceRequest

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

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

global___GetFeatureServiceRequest = GetFeatureServiceRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    feature_view: builtins.str
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        feature_view: builtins.str = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "feature_view", b"feature_view", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListFeatureServicesRequest = ListFeatureServicesRequest

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

    FEATURE_SERVICES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def feature_services(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.FeatureService_pb2.FeatureService]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        feature_services: collections.abc.Iterable[feast.core.FeatureService_pb2.FeatureService] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_services", b"feature_services", "pagination", b"pagination"]) -> None: ...

global___ListFeatureServicesResponse = ListFeatureServicesResponse

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

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

global___DeleteFeatureServiceRequest = DeleteFeatureServiceRequest

class ApplySavedDatasetRequest(google.protobuf.message.Message):
    """SavedDataset"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SAVED_DATASET_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def saved_dataset(self) -> feast.core.SavedDataset_pb2.SavedDataset: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        saved_dataset: feast.core.SavedDataset_pb2.SavedDataset | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["saved_dataset", b"saved_dataset"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "project", b"project", "saved_dataset", b"saved_dataset"]) -> None: ...

global___ApplySavedDatasetRequest = ApplySavedDatasetRequest

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

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

global___GetSavedDatasetRequest = GetSavedDatasetRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListSavedDatasetsRequest = ListSavedDatasetsRequest

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

    SAVED_DATASETS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def saved_datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.SavedDataset_pb2.SavedDataset]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        saved_datasets: collections.abc.Iterable[feast.core.SavedDataset_pb2.SavedDataset] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "saved_datasets", b"saved_datasets"]) -> None: ...

global___ListSavedDatasetsResponse = ListSavedDatasetsResponse

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

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

global___DeleteSavedDatasetRequest = DeleteSavedDatasetRequest

class ApplyValidationReferenceRequest(google.protobuf.message.Message):
    """ValidationReference"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATION_REFERENCE_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def validation_reference(self) -> feast.core.ValidationProfile_pb2.ValidationReference: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        validation_reference: feast.core.ValidationProfile_pb2.ValidationReference | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["validation_reference", b"validation_reference"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "project", b"project", "validation_reference", b"validation_reference"]) -> None: ...

global___ApplyValidationReferenceRequest = ApplyValidationReferenceRequest

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

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

global___GetValidationReferenceRequest = GetValidationReferenceRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListValidationReferencesRequest = ListValidationReferencesRequest

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

    VALIDATION_REFERENCES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def validation_references(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.ValidationProfile_pb2.ValidationReference]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        validation_references: collections.abc.Iterable[feast.core.ValidationProfile_pb2.ValidationReference] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "validation_references", b"validation_references"]) -> None: ...

global___ListValidationReferencesResponse = ListValidationReferencesResponse

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

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

global___DeleteValidationReferenceRequest = DeleteValidationReferenceRequest

class ApplyPermissionRequest(google.protobuf.message.Message):
    """Permissions"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PERMISSION_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def permission(self) -> feast.core.Permission_pb2.Permission: ...
    project: builtins.str
    commit: builtins.bool
    def __init__(
        self,
        *,
        permission: feast.core.Permission_pb2.Permission | None = ...,
        project: builtins.str = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["permission", b"permission"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "permission", b"permission", "project", b"project"]) -> None: ...

global___ApplyPermissionRequest = ApplyPermissionRequest

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

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

global___GetPermissionRequest = GetPermissionRequest

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

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

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "project", b"project", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListPermissionsRequest = ListPermissionsRequest

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

    PERMISSIONS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Permission_pb2.Permission]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        permissions: collections.abc.Iterable[feast.core.Permission_pb2.Permission] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "permissions", b"permissions"]) -> None: ...

global___ListPermissionsResponse = ListPermissionsResponse

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

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

global___DeletePermissionRequest = DeletePermissionRequest

class ApplyProjectRequest(google.protobuf.message.Message):
    """Projects"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROJECT_FIELD_NUMBER: builtins.int
    COMMIT_FIELD_NUMBER: builtins.int
    @property
    def project(self) -> feast.core.Project_pb2.Project: ...
    commit: builtins.bool
    def __init__(
        self,
        *,
        project: feast.core.Project_pb2.Project | None = ...,
        commit: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["project", b"project"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "project", b"project"]) -> None: ...

global___ApplyProjectRequest = ApplyProjectRequest

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

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

global___GetProjectRequest = GetProjectRequest

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

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

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

    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    allow_cache: builtins.bool
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        allow_cache: builtins.bool = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "pagination", b"pagination", "sorting", b"sorting", "tags", b"tags"]) -> None: ...

global___ListProjectsRequest = ListProjectsRequest

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

    PROJECTS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def projects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Project_pb2.Project]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        projects: collections.abc.Iterable[feast.core.Project_pb2.Project] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "projects", b"projects"]) -> None: ...

global___ListProjectsResponse = ListProjectsResponse

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

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

global___DeleteProjectRequest = DeleteProjectRequest

class EntityReference(google.protobuf.message.Message):
    """Lineage"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___EntityReference = EntityReference

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

    SOURCE_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    @property
    def source(self) -> global___EntityReference: ...
    @property
    def target(self) -> global___EntityReference: ...
    def __init__(
        self,
        *,
        source: global___EntityReference | None = ...,
        target: global___EntityReference | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["source", b"source", "target", b"target"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["source", b"source", "target", b"target"]) -> None: ...

global___EntityRelation = EntityRelation

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

    PROJECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    FILTER_OBJECT_TYPE_FIELD_NUMBER: builtins.int
    FILTER_OBJECT_NAME_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    allow_cache: builtins.bool
    filter_object_type: builtins.str
    filter_object_name: builtins.str
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        filter_object_type: builtins.str = ...,
        filter_object_name: builtins.str = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "filter_object_name", b"filter_object_name", "filter_object_type", b"filter_object_type", "pagination", b"pagination", "project", b"project", "sorting", b"sorting"]) -> None: ...

global___GetRegistryLineageRequest = GetRegistryLineageRequest

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

    RELATIONSHIPS_FIELD_NUMBER: builtins.int
    INDIRECT_RELATIONSHIPS_FIELD_NUMBER: builtins.int
    RELATIONSHIPS_PAGINATION_FIELD_NUMBER: builtins.int
    INDIRECT_RELATIONSHIPS_PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def relationships(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EntityRelation]: ...
    @property
    def indirect_relationships(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EntityRelation]: ...
    @property
    def relationships_pagination(self) -> global___PaginationMetadata: ...
    @property
    def indirect_relationships_pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        relationships: collections.abc.Iterable[global___EntityRelation] | None = ...,
        indirect_relationships: collections.abc.Iterable[global___EntityRelation] | None = ...,
        relationships_pagination: global___PaginationMetadata | None = ...,
        indirect_relationships_pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["indirect_relationships_pagination", b"indirect_relationships_pagination", "relationships_pagination", b"relationships_pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["indirect_relationships", b"indirect_relationships", "indirect_relationships_pagination", b"indirect_relationships_pagination", "relationships", b"relationships", "relationships_pagination", b"relationships_pagination"]) -> None: ...

global___GetRegistryLineageResponse = GetRegistryLineageResponse

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

    PROJECT_FIELD_NUMBER: builtins.int
    OBJECT_TYPE_FIELD_NUMBER: builtins.int
    OBJECT_NAME_FIELD_NUMBER: builtins.int
    INCLUDE_INDIRECT_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    object_type: builtins.str
    object_name: builtins.str
    include_indirect: builtins.bool
    allow_cache: builtins.bool
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        object_type: builtins.str = ...,
        object_name: builtins.str = ...,
        include_indirect: builtins.bool = ...,
        allow_cache: builtins.bool = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "include_indirect", b"include_indirect", "object_name", b"object_name", "object_type", b"object_type", "pagination", b"pagination", "project", b"project", "sorting", b"sorting"]) -> None: ...

global___GetObjectRelationshipsRequest = GetObjectRelationshipsRequest

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

    RELATIONSHIPS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def relationships(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EntityRelation]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        relationships: collections.abc.Iterable[global___EntityRelation] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "relationships", b"relationships"]) -> None: ...

global___GetObjectRelationshipsResponse = GetObjectRelationshipsResponse

class Feature(google.protobuf.message.Message):
    """Feature messages"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

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

    NAME_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    CREATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    LAST_UPDATED_TIMESTAMP_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    name: builtins.str
    feature_view: builtins.str
    type: builtins.str
    description: builtins.str
    owner: builtins.str
    @property
    def created_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_updated_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        feature_view: builtins.str = ...,
        type: builtins.str = ...,
        description: builtins.str = ...,
        owner: builtins.str = ...,
        created_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_updated_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "last_updated_timestamp", b"last_updated_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_timestamp", b"created_timestamp", "description", b"description", "feature_view", b"feature_view", "last_updated_timestamp", b"last_updated_timestamp", "name", b"name", "owner", b"owner", "tags", b"tags", "type", b"type"]) -> None: ...

global___Feature = Feature

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

    PROJECT_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    SORTING_FIELD_NUMBER: builtins.int
    project: builtins.str
    feature_view: builtins.str
    name: builtins.str
    allow_cache: builtins.bool
    @property
    def pagination(self) -> global___PaginationParams: ...
    @property
    def sorting(self) -> global___SortingParams: ...
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        feature_view: builtins.str = ...,
        name: builtins.str = ...,
        allow_cache: builtins.bool = ...,
        pagination: global___PaginationParams | None = ...,
        sorting: global___SortingParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "sorting", b"sorting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "feature_view", b"feature_view", "name", b"name", "pagination", b"pagination", "project", b"project", "sorting", b"sorting"]) -> None: ...

global___ListFeaturesRequest = ListFeaturesRequest

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

    FEATURES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Feature]: ...
    @property
    def pagination(self) -> global___PaginationMetadata: ...
    def __init__(
        self,
        *,
        features: collections.abc.Iterable[global___Feature] | None = ...,
        pagination: global___PaginationMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["features", b"features", "pagination", b"pagination"]) -> None: ...

global___ListFeaturesResponse = ListFeaturesResponse

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

    PROJECT_FIELD_NUMBER: builtins.int
    FEATURE_VIEW_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ALLOW_CACHE_FIELD_NUMBER: builtins.int
    project: builtins.str
    feature_view: builtins.str
    name: builtins.str
    allow_cache: builtins.bool
    def __init__(
        self,
        *,
        project: builtins.str = ...,
        feature_view: builtins.str = ...,
        name: builtins.str = ...,
        allow_cache: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["allow_cache", b"allow_cache", "feature_view", b"feature_view", "name", b"name", "project", b"project"]) -> None: ...

global___GetFeatureRequest = GetFeatureRequest
