"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file

* Copyright 2020 The Feast Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
"""
import builtins
import collections.abc
import feast.core.DataSource_pb2
import feast.core.Entity_pb2
import feast.core.FeatureService_pb2
import feast.core.FeatureTable_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.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 Registry(google.protobuf.message.Message):
    """Next id: 18"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITIES_FIELD_NUMBER: builtins.int
    FEATURE_TABLES_FIELD_NUMBER: builtins.int
    FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    DATA_SOURCES_FIELD_NUMBER: builtins.int
    ON_DEMAND_FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    STREAM_FEATURE_VIEWS_FIELD_NUMBER: builtins.int
    FEATURE_SERVICES_FIELD_NUMBER: builtins.int
    SAVED_DATASETS_FIELD_NUMBER: builtins.int
    VALIDATION_REFERENCES_FIELD_NUMBER: builtins.int
    INFRA_FIELD_NUMBER: builtins.int
    PROJECT_METADATA_FIELD_NUMBER: builtins.int
    REGISTRY_SCHEMA_VERSION_FIELD_NUMBER: builtins.int
    VERSION_ID_FIELD_NUMBER: builtins.int
    LAST_UPDATED_FIELD_NUMBER: builtins.int
    PERMISSIONS_FIELD_NUMBER: builtins.int
    PROJECTS_FIELD_NUMBER: builtins.int
    @property
    def entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Entity_pb2.Entity]: ...
    @property
    def feature_tables(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.FeatureTable_pb2.FeatureTable]: ...
    @property
    def feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.FeatureView_pb2.FeatureView]: ...
    @property
    def data_sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.DataSource_pb2.DataSource]: ...
    @property
    def on_demand_feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView]: ...
    @property
    def stream_feature_views(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.StreamFeatureView_pb2.StreamFeatureView]: ...
    @property
    def feature_services(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.FeatureService_pb2.FeatureService]: ...
    @property
    def saved_datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.SavedDataset_pb2.SavedDataset]: ...
    @property
    def validation_references(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.ValidationProfile_pb2.ValidationReference]: ...
    @property
    def infra(self) -> feast.core.InfraObject_pb2.Infra: ...
    @property
    def project_metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProjectMetadata]:
        """Tracking metadata of Feast by project"""
    registry_schema_version: builtins.str
    """to support migrations; incremented when schema is changed"""
    version_id: builtins.str
    """version id, random string generated on each update of the data; now used only for debugging purposes"""
    @property
    def last_updated(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Permission_pb2.Permission]: ...
    @property
    def projects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[feast.core.Project_pb2.Project]: ...
    def __init__(
        self,
        *,
        entities: collections.abc.Iterable[feast.core.Entity_pb2.Entity] | None = ...,
        feature_tables: collections.abc.Iterable[feast.core.FeatureTable_pb2.FeatureTable] | None = ...,
        feature_views: collections.abc.Iterable[feast.core.FeatureView_pb2.FeatureView] | None = ...,
        data_sources: collections.abc.Iterable[feast.core.DataSource_pb2.DataSource] | None = ...,
        on_demand_feature_views: collections.abc.Iterable[feast.core.OnDemandFeatureView_pb2.OnDemandFeatureView] | None = ...,
        stream_feature_views: collections.abc.Iterable[feast.core.StreamFeatureView_pb2.StreamFeatureView] | None = ...,
        feature_services: collections.abc.Iterable[feast.core.FeatureService_pb2.FeatureService] | None = ...,
        saved_datasets: collections.abc.Iterable[feast.core.SavedDataset_pb2.SavedDataset] | None = ...,
        validation_references: collections.abc.Iterable[feast.core.ValidationProfile_pb2.ValidationReference] | None = ...,
        infra: feast.core.InfraObject_pb2.Infra | None = ...,
        project_metadata: collections.abc.Iterable[global___ProjectMetadata] | None = ...,
        registry_schema_version: builtins.str = ...,
        version_id: builtins.str = ...,
        last_updated: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        permissions: collections.abc.Iterable[feast.core.Permission_pb2.Permission] | None = ...,
        projects: collections.abc.Iterable[feast.core.Project_pb2.Project] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["infra", b"infra", "last_updated", b"last_updated"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_sources", b"data_sources", "entities", b"entities", "feature_services", b"feature_services", "feature_tables", b"feature_tables", "feature_views", b"feature_views", "infra", b"infra", "last_updated", b"last_updated", "on_demand_feature_views", b"on_demand_feature_views", "permissions", b"permissions", "project_metadata", b"project_metadata", "projects", b"projects", "registry_schema_version", b"registry_schema_version", "saved_datasets", b"saved_datasets", "stream_feature_views", b"stream_feature_views", "validation_references", b"validation_references", "version_id", b"version_id"]) -> None: ...

global___Registry = Registry

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

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

global___ProjectMetadata = ProjectMetadata
