"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _GeofenceType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _GeofenceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GeofenceType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    GEOFENCE_TYPE_UNSPECIFIED: _GeofenceType.ValueType  # 0
    GEOFENCE_TYPE_INCLUSION: _GeofenceType.ValueType  # 1
    GEOFENCE_TYPE_EXCLUSION: _GeofenceType.ValueType  # 2

class GeofenceType(_GeofenceType, metaclass=_GeofenceTypeEnumTypeWrapper): ...

GEOFENCE_TYPE_UNSPECIFIED: GeofenceType.ValueType  # 0
GEOFENCE_TYPE_INCLUSION: GeofenceType.ValueType  # 1
GEOFENCE_TYPE_EXCLUSION: GeofenceType.ValueType  # 2
global___GeofenceType = GeofenceType

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

    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    COUNTRY_CODES_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    name: builtins.str
    """Unique name of the geofence."""
    type: global___GeofenceType.ValueType
    """Type of the geofence, to included or to exclude the countries."""
    @property
    def country_codes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Alpha-2 country codes to be included or excluded."""
    description: builtins.str
    """Description of the geofence."""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        type: global___GeofenceType.ValueType = ...,
        country_codes: collections.abc.Iterable[builtins.str] | None = ...,
        description: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["country_codes", b"country_codes", "description", b"description", "name", b"name", "type", b"type"]) -> None: ...

global___Geofence = Geofence
