"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.enums.google_ads_field_category_pb2
import google.ads.google_ads.v4.proto.enums.google_ads_field_data_type_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
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 = ...
    category: google.ads.google_ads.v4.proto.enums.google_ads_field_category_pb2.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory.V = (
        ...
    )
    data_type: google.ads.google_ads.v4.proto.enums.google_ads_field_data_type_pb2.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType.V = (
        ...
    )
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def selectable(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def filterable(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def sortable(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def selectable_with(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def attribute_resources(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def metrics(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def segments(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def enum_values(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def type_url(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def is_repeated(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        category: google.ads.google_ads.v4.proto.enums.google_ads_field_category_pb2.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory.V = ...,
        selectable: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        filterable: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        sortable: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
        selectable_with: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        attribute_resources: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        metrics: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        segments: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        enum_values: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        data_type: google.ads.google_ads.v4.proto.enums.google_ads_field_data_type_pb2.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType.V = ...,
        type_url: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        is_repeated: typing.Optional[google.protobuf.wrappers_pb2.BoolValue] = ...,
    ) -> 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",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "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: ...

global___GoogleAdsField = GoogleAdsField
