# @generated by mypy-protobuf.  Do not edit manually!
import sys
from typing import (
    Iterable as typing___Iterable,
    Optional as typing___Optional,
    Text as typing___Text,
)

from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)
from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
)
from google.protobuf.message import Message as google___protobuf___message___Message
from google.protobuf.wrappers_pb2 import (
    Int64Value as google___protobuf___wrappers_pb2___Int64Value,
    StringValue as google___protobuf___wrappers_pb2___StringValue,
)
from typing_extensions import Literal as typing_extensions___Literal

from google.ads.google_ads.v3.proto.resources.geo_target_constant_pb2 import (
    GeoTargetConstant as google___ads___googleads___v3___resources___geo_target_constant_pb2___GeoTargetConstant,
)

builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int

DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class GetGeoTargetConstantRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    resource_name: typing___Text = ...
    def __init__(
        self, *, resource_name: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["resource_name", b"resource_name"]
    ) -> None: ...

type___GetGeoTargetConstantRequest = GetGeoTargetConstantRequest

class SuggestGeoTargetConstantsRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class LocationNames(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        @property
        def names(
            self,
        ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
            google___protobuf___wrappers_pb2___StringValue
        ]: ...
        def __init__(
            self,
            *,
            names: typing___Optional[
                typing___Iterable[google___protobuf___wrappers_pb2___StringValue]
            ] = None,
        ) -> None: ...
        def ClearField(
            self, field_name: typing_extensions___Literal["names", b"names"]
        ) -> None: ...
    type___LocationNames = LocationNames
    class GeoTargets(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        @property
        def geo_target_constants(
            self,
        ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
            google___protobuf___wrappers_pb2___StringValue
        ]: ...
        def __init__(
            self,
            *,
            geo_target_constants: typing___Optional[
                typing___Iterable[google___protobuf___wrappers_pb2___StringValue]
            ] = None,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions___Literal[
                "geo_target_constants", b"geo_target_constants"
            ],
        ) -> None: ...
    type___GeoTargets = GeoTargets
    @property
    def locale(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def country_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def location_names(
        self,
    ) -> type___SuggestGeoTargetConstantsRequest.LocationNames: ...
    @property
    def geo_targets(self) -> type___SuggestGeoTargetConstantsRequest.GeoTargets: ...
    def __init__(
        self,
        *,
        locale: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        country_code: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        location_names: typing___Optional[
            type___SuggestGeoTargetConstantsRequest.LocationNames
        ] = None,
        geo_targets: typing___Optional[
            type___SuggestGeoTargetConstantsRequest.GeoTargets
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "country_code",
            b"country_code",
            "geo_targets",
            b"geo_targets",
            "locale",
            b"locale",
            "location_names",
            b"location_names",
            "query",
            b"query",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "country_code",
            b"country_code",
            "geo_targets",
            b"geo_targets",
            "locale",
            b"locale",
            "location_names",
            b"location_names",
            "query",
            b"query",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["query", b"query"]
    ) -> typing_extensions___Literal["location_names", "geo_targets"]: ...

type___SuggestGeoTargetConstantsRequest = SuggestGeoTargetConstantsRequest

class SuggestGeoTargetConstantsResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def geo_target_constant_suggestions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        type___GeoTargetConstantSuggestion
    ]: ...
    def __init__(
        self,
        *,
        geo_target_constant_suggestions: typing___Optional[
            typing___Iterable[type___GeoTargetConstantSuggestion]
        ] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "geo_target_constant_suggestions", b"geo_target_constant_suggestions"
        ],
    ) -> None: ...

type___SuggestGeoTargetConstantsResponse = SuggestGeoTargetConstantsResponse

class GeoTargetConstantSuggestion(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def locale(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def reach(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def search_term(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def geo_target_constant(
        self,
    ) -> google___ads___googleads___v3___resources___geo_target_constant_pb2___GeoTargetConstant: ...
    @property
    def geo_target_constant_parents(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v3___resources___geo_target_constant_pb2___GeoTargetConstant
    ]: ...
    def __init__(
        self,
        *,
        locale: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        reach: typing___Optional[google___protobuf___wrappers_pb2___Int64Value] = None,
        search_term: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        geo_target_constant: typing___Optional[
            google___ads___googleads___v3___resources___geo_target_constant_pb2___GeoTargetConstant
        ] = None,
        geo_target_constant_parents: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v3___resources___geo_target_constant_pb2___GeoTargetConstant
            ]
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "geo_target_constant",
            b"geo_target_constant",
            "locale",
            b"locale",
            "reach",
            b"reach",
            "search_term",
            b"search_term",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "geo_target_constant",
            b"geo_target_constant",
            "geo_target_constant_parents",
            b"geo_target_constant_parents",
            "locale",
            b"locale",
            "reach",
            b"reach",
            "search_term",
            b"search_term",
        ],
    ) -> None: ...

type___GeoTargetConstantSuggestion = GeoTargetConstantSuggestion
