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

Copyright 2021 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 google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

        BODY_FIELD_NUMBER: builtins.int
        body: builtins.bytes
        """The python-syntax function body (serialized by dill)"""
        def __init__(
            self,
            *,
            body: builtins.bytes = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["body", b"body"]) -> None: ...

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

global___GEValidationProfiler = GEValidationProfiler

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

    EXPECTATION_SUITE_FIELD_NUMBER: builtins.int
    expectation_suite: builtins.bytes
    """JSON-serialized ExpectationSuite object"""
    def __init__(
        self,
        *,
        expectation_suite: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["expectation_suite", b"expectation_suite"]) -> None: ...

global___GEValidationProfile = GEValidationProfile

class ValidationReference(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: ...

    NAME_FIELD_NUMBER: builtins.int
    REFERENCE_DATASET_NAME_FIELD_NUMBER: builtins.int
    PROJECT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    GE_PROFILER_FIELD_NUMBER: builtins.int
    GE_PROFILE_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Unique name of validation reference within the project"""
    reference_dataset_name: builtins.str
    """Name of saved dataset used as reference dataset"""
    project: builtins.str
    """Name of Feast project that this object source belongs to"""
    description: builtins.str
    """Description of the validation reference"""
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """User defined metadata"""
    @property
    def ge_profiler(self) -> global___GEValidationProfiler: ...
    @property
    def ge_profile(self) -> global___GEValidationProfile: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        reference_dataset_name: builtins.str = ...,
        project: builtins.str = ...,
        description: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        ge_profiler: global___GEValidationProfiler | None = ...,
        ge_profile: global___GEValidationProfile | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cached_profile", b"cached_profile", "ge_profile", b"ge_profile", "ge_profiler", b"ge_profiler", "profiler", b"profiler"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cached_profile", b"cached_profile", "description", b"description", "ge_profile", b"ge_profile", "ge_profiler", b"ge_profiler", "name", b"name", "profiler", b"profiler", "project", b"project", "reference_dataset_name", b"reference_dataset_name", "tags", b"tags"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["cached_profile", b"cached_profile"]) -> typing_extensions.Literal["ge_profile"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["profiler", b"profiler"]) -> typing_extensions.Literal["ge_profiler"] | None: ...

global___ValidationReference = ValidationReference
