"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v5.proto.enums.google_ads_field_category_pb2
import google.ads.google_ads.v5.proto.enums.google_ads_field_data_type_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class GoogleAdsField(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CATEGORY_FIELD_NUMBER: builtins.int
    SELECTABLE_FIELD_NUMBER: builtins.int
    FILTERABLE_FIELD_NUMBER: builtins.int
    SORTABLE_FIELD_NUMBER: builtins.int
    SELECTABLE_WITH_FIELD_NUMBER: builtins.int
    ATTRIBUTE_RESOURCES_FIELD_NUMBER: builtins.int
    METRICS_FIELD_NUMBER: builtins.int
    SEGMENTS_FIELD_NUMBER: builtins.int
    ENUM_VALUES_FIELD_NUMBER: builtins.int
    DATA_TYPE_FIELD_NUMBER: builtins.int
    TYPE_URL_FIELD_NUMBER: builtins.int
    IS_REPEATED_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    name: typing.Text = ...
    category: google.ads.google_ads.v5.proto.enums.google_ads_field_category_pb2.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory.V = (
        ...
    )
    selectable: builtins.bool = ...
    filterable: builtins.bool = ...
    sortable: builtins.bool = ...
    selectable_with: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    attribute_resources: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    metrics: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    segments: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    enum_values: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    data_type: google.ads.google_ads.v5.proto.enums.google_ads_field_data_type_pb2.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType.V = (
        ...
    )
    type_url: typing.Text = ...
    is_repeated: builtins.bool = ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        name: typing.Text = ...,
        category: google.ads.google_ads.v5.proto.enums.google_ads_field_category_pb2.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory.V = ...,
        selectable: builtins.bool = ...,
        filterable: builtins.bool = ...,
        sortable: builtins.bool = ...,
        selectable_with: typing.Optional[typing.Iterable[typing.Text]] = ...,
        attribute_resources: typing.Optional[typing.Iterable[typing.Text]] = ...,
        metrics: typing.Optional[typing.Iterable[typing.Text]] = ...,
        segments: typing.Optional[typing.Iterable[typing.Text]] = ...,
        enum_values: typing.Optional[typing.Iterable[typing.Text]] = ...,
        data_type: google.ads.google_ads.v5.proto.enums.google_ads_field_data_type_pb2.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType.V = ...,
        type_url: typing.Text = ...,
        is_repeated: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_filterable",
            b"_filterable",
            "_is_repeated",
            b"_is_repeated",
            "_name",
            b"_name",
            "_selectable",
            b"_selectable",
            "_sortable",
            b"_sortable",
            "_type_url",
            b"_type_url",
            "filterable",
            b"filterable",
            "is_repeated",
            b"is_repeated",
            "name",
            b"name",
            "selectable",
            b"selectable",
            "sortable",
            b"sortable",
            "type_url",
            b"type_url",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_filterable",
            b"_filterable",
            "_is_repeated",
            b"_is_repeated",
            "_name",
            b"_name",
            "_selectable",
            b"_selectable",
            "_sortable",
            b"_sortable",
            "_type_url",
            b"_type_url",
            "attribute_resources",
            b"attribute_resources",
            "category",
            b"category",
            "data_type",
            b"data_type",
            "enum_values",
            b"enum_values",
            "filterable",
            b"filterable",
            "is_repeated",
            b"is_repeated",
            "metrics",
            b"metrics",
            "name",
            b"name",
            "resource_name",
            b"resource_name",
            "segments",
            b"segments",
            "selectable",
            b"selectable",
            "selectable_with",
            b"selectable_with",
            "sortable",
            b"sortable",
            "type_url",
            b"type_url",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_filterable", b"_filterable"]
    ) -> typing_extensions.Literal["filterable"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_is_repeated", b"_is_repeated"]
    ) -> typing_extensions.Literal["is_repeated"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_name", b"_name"]
    ) -> typing_extensions.Literal["name"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_selectable", b"_selectable"]
    ) -> typing_extensions.Literal["selectable"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_sortable", b"_sortable"]
    ) -> typing_extensions.Literal["sortable"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_type_url", b"_type_url"]
    ) -> typing_extensions.Literal["type_url"]: ...

global___GoogleAdsField = GoogleAdsField
