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

import builtins
import collections.abc
import conversations_pb2
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
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 _HostRequestSortBy:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _HostRequestSortByEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HostRequestSortBy.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    HOST_REQUEST_SORT_BY_LAST_ACTIVE: _HostRequestSortBy.ValueType  # 0
    HOST_REQUEST_SORT_BY_FROM_DATE: _HostRequestSortBy.ValueType  # 1

class HostRequestSortBy(_HostRequestSortBy, metaclass=_HostRequestSortByEnumTypeWrapper): ...

HOST_REQUEST_SORT_BY_LAST_ACTIVE: HostRequestSortBy.ValueType  # 0
HOST_REQUEST_SORT_BY_FROM_DATE: HostRequestSortBy.ValueType  # 1
Global___HostRequestSortBy: typing_extensions.TypeAlias = HostRequestSortBy

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

class _HostRequestQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HostRequestQuality.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    HOST_REQUEST_QUALITY_UNSPECIFIED: _HostRequestQuality.ValueType  # 0
    HOST_REQUEST_QUALITY_LOW: _HostRequestQuality.ValueType  # 1
    HOST_REQUEST_QUALITY_OKAY: _HostRequestQuality.ValueType  # 2
    HOST_REQUEST_QUALITY_HIGH: _HostRequestQuality.ValueType  # 3

class HostRequestQuality(_HostRequestQuality, metaclass=_HostRequestQualityEnumTypeWrapper): ...

HOST_REQUEST_QUALITY_UNSPECIFIED: HostRequestQuality.ValueType  # 0
HOST_REQUEST_QUALITY_LOW: HostRequestQuality.ValueType  # 1
HOST_REQUEST_QUALITY_OKAY: HostRequestQuality.ValueType  # 2
HOST_REQUEST_QUALITY_HIGH: HostRequestQuality.ValueType  # 3
Global___HostRequestQuality: typing_extensions.TypeAlias = HostRequestQuality

@typing.final
class CreateHostRequestReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_USER_ID_FIELD_NUMBER: builtins.int
    FROM_DATE_FIELD_NUMBER: builtins.int
    TO_DATE_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    PUBLIC_TRIP_ID_FIELD_NUMBER: builtins.int
    host_user_id: builtins.int
    from_date: builtins.str
    """dates as "yyyy-mm-dd", in the timezone of the host"""
    to_date: builtins.str
    text: builtins.str
    public_trip_id: builtins.int
    """If set, this host request is being created in response to a public trip.
    The role is reversed: the "host" is offering to host the public trip's traveler.
    Dates must fall within the public trip's from_date/to_date.
    """
    def __init__(
        self,
        *,
        host_user_id: builtins.int | None = ...,
        from_date: builtins.str | None = ...,
        to_date: builtins.str | None = ...,
        text: builtins.str | None = ...,
        public_trip_id: builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["_public_trip_id", b"_public_trip_id", "public_trip_id", b"public_trip_id"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["_public_trip_id", b"_public_trip_id", "from_date", b"from_date", "host_user_id", b"host_user_id", "public_trip_id", b"public_trip_id", "text", b"text", "to_date", b"to_date"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType__public_trip_id: typing_extensions.TypeAlias = typing.Literal["public_trip_id"]
    _WhichOneofArgType__public_trip_id: typing_extensions.TypeAlias = typing.Literal["_public_trip_id", b"_public_trip_id"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType__public_trip_id) -> _WhichOneofReturnType__public_trip_id | None: ...

Global___CreateHostRequestReq: typing_extensions.TypeAlias = CreateHostRequestReq

@typing.final
class HostRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    SURFER_USER_ID_FIELD_NUMBER: builtins.int
    HOST_USER_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    FROM_DATE_FIELD_NUMBER: builtins.int
    TO_DATE_FIELD_NUMBER: builtins.int
    LAST_SEEN_MESSAGE_ID_FIELD_NUMBER: builtins.int
    LATEST_MESSAGE_FIELD_NUMBER: builtins.int
    HOSTING_CITY_FIELD_NUMBER: builtins.int
    HOSTING_LAT_FIELD_NUMBER: builtins.int
    HOSTING_LNG_FIELD_NUMBER: builtins.int
    HOSTING_RADIUS_FIELD_NUMBER: builtins.int
    NEED_HOST_REQUEST_FEEDBACK_FIELD_NUMBER: builtins.int
    IS_ARCHIVED_FIELD_NUMBER: builtins.int
    PUBLIC_TRIP_ID_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    surfer_user_id: builtins.int
    host_user_id: builtins.int
    status: conversations_pb2.HostRequestStatus.ValueType
    from_date: builtins.str
    """dates as "yyyy-mm-dd", these are associated with a timezone, but that's not yet returned here TODO?"""
    to_date: builtins.str
    last_seen_message_id: builtins.int
    hosting_city: builtins.str
    hosting_lat: builtins.float
    hosting_lng: builtins.float
    hosting_radius: builtins.float
    need_host_request_feedback: builtins.bool
    is_archived: builtins.bool
    public_trip_id: builtins.int
    """If set, this host request was created in response to a public trip"""
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def latest_message(self) -> conversations_pb2.Message: ...
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        surfer_user_id: builtins.int | None = ...,
        host_user_id: builtins.int | None = ...,
        status: conversations_pb2.HostRequestStatus.ValueType | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        from_date: builtins.str | None = ...,
        to_date: builtins.str | None = ...,
        last_seen_message_id: builtins.int | None = ...,
        latest_message: conversations_pb2.Message | None = ...,
        hosting_city: builtins.str | None = ...,
        hosting_lat: builtins.float | None = ...,
        hosting_lng: builtins.float | None = ...,
        hosting_radius: builtins.float | None = ...,
        need_host_request_feedback: builtins.bool | None = ...,
        is_archived: builtins.bool | None = ...,
        public_trip_id: builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["_public_trip_id", b"_public_trip_id", "created", b"created", "latest_message", b"latest_message", "public_trip_id", b"public_trip_id"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["_public_trip_id", b"_public_trip_id", "created", b"created", "from_date", b"from_date", "host_request_id", b"host_request_id", "host_user_id", b"host_user_id", "hosting_city", b"hosting_city", "hosting_lat", b"hosting_lat", "hosting_lng", b"hosting_lng", "hosting_radius", b"hosting_radius", "is_archived", b"is_archived", "last_seen_message_id", b"last_seen_message_id", "latest_message", b"latest_message", "need_host_request_feedback", b"need_host_request_feedback", "public_trip_id", b"public_trip_id", "status", b"status", "surfer_user_id", b"surfer_user_id", "to_date", b"to_date"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType__public_trip_id: typing_extensions.TypeAlias = typing.Literal["public_trip_id"]
    _WhichOneofArgType__public_trip_id: typing_extensions.TypeAlias = typing.Literal["_public_trip_id", b"_public_trip_id"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType__public_trip_id) -> _WhichOneofReturnType__public_trip_id | None: ...

Global___HostRequest: typing_extensions.TypeAlias = HostRequest

@typing.final
class GetHostRequestReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetHostRequestReq: typing_extensions.TypeAlias = GetHostRequestReq

@typing.final
class CreateHostRequestRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CreateHostRequestRes: typing_extensions.TypeAlias = CreateHostRequestRes

@typing.final
class RespondHostRequestReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    status: conversations_pb2.HostRequestStatus.ValueType
    text: builtins.str
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        status: conversations_pb2.HostRequestStatus.ValueType | None = ...,
        text: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "status", b"status", "text", b"text"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RespondHostRequestReq: typing_extensions.TypeAlias = RespondHostRequestReq

@typing.final
class SetHostRequestArchiveStatusReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    IS_ARCHIVED_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    is_archived: builtins.bool
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        is_archived: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "is_archived", b"is_archived"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SetHostRequestArchiveStatusReq: typing_extensions.TypeAlias = SetHostRequestArchiveStatusReq

@typing.final
class SetHostRequestArchiveStatusRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    IS_ARCHIVED_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    is_archived: builtins.bool
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        is_archived: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "is_archived", b"is_archived"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SetHostRequestArchiveStatusRes: typing_extensions.TypeAlias = SetHostRequestArchiveStatusRes

@typing.final
class ListHostRequestsReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NUMBER_FIELD_NUMBER: builtins.int
    ONLY_ACTIVE_FIELD_NUMBER: builtins.int
    ONLY_SENT_FIELD_NUMBER: builtins.int
    ONLY_RECEIVED_FIELD_NUMBER: builtins.int
    ONLY_ARCHIVED_FIELD_NUMBER: builtins.int
    STATUS_IN_FIELD_NUMBER: builtins.int
    SORT_BY_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    number: builtins.int
    only_active: builtins.bool
    """Whether to only show pending, accepted and
    confirmed requests which haven't passed the
    end date.
    """
    only_sent: builtins.bool
    only_received: builtins.bool
    only_archived: builtins.bool
    sort_by: Global___HostRequestSortBy.ValueType
    page_token: builtins.str
    @property
    def status_in(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[conversations_pb2.HostRequestStatus.ValueType]:
        """If non-empty, only return requests with one of these statuses."""

    def __init__(
        self,
        *,
        number: builtins.int | None = ...,
        only_active: builtins.bool | None = ...,
        only_sent: builtins.bool | None = ...,
        only_received: builtins.bool | None = ...,
        only_archived: builtins.bool | None = ...,
        status_in: collections.abc.Iterable[conversations_pb2.HostRequestStatus.ValueType] | None = ...,
        sort_by: Global___HostRequestSortBy.ValueType | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["_only_archived", b"_only_archived", "only_archived", b"only_archived"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["_only_archived", b"_only_archived", "number", b"number", "only_active", b"only_active", "only_archived", b"only_archived", "only_received", b"only_received", "only_sent", b"only_sent", "page_token", b"page_token", "sort_by", b"sort_by", "status_in", b"status_in"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType__only_archived: typing_extensions.TypeAlias = typing.Literal["only_archived"]
    _WhichOneofArgType__only_archived: typing_extensions.TypeAlias = typing.Literal["_only_archived", b"_only_archived"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType__only_archived) -> _WhichOneofReturnType__only_archived | None: ...

Global___ListHostRequestsReq: typing_extensions.TypeAlias = ListHostRequestsReq

@typing.final
class ListHostRequestsRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUESTS_FIELD_NUMBER: builtins.int
    NO_MORE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    no_more: builtins.bool
    next_page_token: builtins.str
    @property
    def host_requests(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___HostRequest]: ...
    def __init__(
        self,
        *,
        host_requests: collections.abc.Iterable[Global___HostRequest] | None = ...,
        no_more: builtins.bool | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_requests", b"host_requests", "next_page_token", b"next_page_token", "no_more", b"no_more"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListHostRequestsRes: typing_extensions.TypeAlias = ListHostRequestsRes

@typing.final
class GetHostRequestMessagesReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    LAST_MESSAGE_ID_FIELD_NUMBER: builtins.int
    NUMBER_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    last_message_id: builtins.int
    number: builtins.int
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        last_message_id: builtins.int | None = ...,
        number: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "last_message_id", b"last_message_id", "number", b"number"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetHostRequestMessagesReq: typing_extensions.TypeAlias = GetHostRequestMessagesReq

@typing.final
class GetHostRequestMessagesRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MESSAGES_FIELD_NUMBER: builtins.int
    LAST_MESSAGE_ID_FIELD_NUMBER: builtins.int
    NO_MORE_FIELD_NUMBER: builtins.int
    last_message_id: builtins.int
    no_more: builtins.bool
    @property
    def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[conversations_pb2.Message]: ...
    def __init__(
        self,
        *,
        messages: collections.abc.Iterable[conversations_pb2.Message] | None = ...,
        last_message_id: builtins.int | None = ...,
        no_more: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["last_message_id", b"last_message_id", "messages", b"messages", "no_more", b"no_more"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetHostRequestMessagesRes: typing_extensions.TypeAlias = GetHostRequestMessagesRes

@typing.final
class SendHostRequestMessageReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    text: builtins.str
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        text: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "text", b"text"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SendHostRequestMessageReq: typing_extensions.TypeAlias = SendHostRequestMessageReq

@typing.final
class GetHostRequestUpdatesReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NEWEST_MESSAGE_ID_FIELD_NUMBER: builtins.int
    NUMBER_FIELD_NUMBER: builtins.int
    ONLY_SENT_FIELD_NUMBER: builtins.int
    ONLY_RECEIVED_FIELD_NUMBER: builtins.int
    newest_message_id: builtins.int
    number: builtins.int
    only_sent: builtins.bool
    only_received: builtins.bool
    def __init__(
        self,
        *,
        newest_message_id: builtins.int | None = ...,
        number: builtins.int | None = ...,
        only_sent: builtins.bool | None = ...,
        only_received: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["newest_message_id", b"newest_message_id", "number", b"number", "only_received", b"only_received", "only_sent", b"only_sent"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetHostRequestUpdatesReq: typing_extensions.TypeAlias = GetHostRequestUpdatesReq

@typing.final
class HostRequestUpdate(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    status: conversations_pb2.HostRequestStatus.ValueType
    """the current status of the host request, regardless of this update"""
    @property
    def message(self) -> conversations_pb2.Message: ...
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        message: conversations_pb2.Message | None = ...,
        status: conversations_pb2.HostRequestStatus.ValueType | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["message", b"message"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "message", b"message", "status", b"status"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___HostRequestUpdate: typing_extensions.TypeAlias = HostRequestUpdate

@typing.final
class GetHostRequestUpdatesRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UPDATES_FIELD_NUMBER: builtins.int
    NO_MORE_FIELD_NUMBER: builtins.int
    no_more: builtins.bool
    @property
    def updates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___HostRequestUpdate]: ...
    def __init__(
        self,
        *,
        updates: collections.abc.Iterable[Global___HostRequestUpdate] | None = ...,
        no_more: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["no_more", b"no_more", "updates", b"updates"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetHostRequestUpdatesRes: typing_extensions.TypeAlias = GetHostRequestUpdatesRes

@typing.final
class MarkLastSeenHostRequestReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    LAST_SEEN_MESSAGE_ID_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    last_seen_message_id: builtins.int
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        last_seen_message_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["host_request_id", b"host_request_id", "last_seen_message_id", b"last_seen_message_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___MarkLastSeenHostRequestReq: typing_extensions.TypeAlias = MarkLastSeenHostRequestReq

@typing.final
class GetResponseRateReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_ID_FIELD_NUMBER: builtins.int
    user_id: builtins.int
    def __init__(
        self,
        *,
        user_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["user_id", b"user_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetResponseRateReq: typing_extensions.TypeAlias = GetResponseRateReq

@typing.final
class ResponseRateInsufficientData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

Global___ResponseRateInsufficientData: typing_extensions.TypeAlias = ResponseRateInsufficientData

@typing.final
class ResponseRateLow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

Global___ResponseRateLow: typing_extensions.TypeAlias = ResponseRateLow

@typing.final
class ResponseRateSome(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESPONSE_TIME_P33_FIELD_NUMBER: builtins.int
    @property
    def response_time_p33(self) -> google.protobuf.duration_pb2.Duration:
        """the 33rd percentile response time"""

    def __init__(
        self,
        *,
        response_time_p33: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["response_time_p33", b"response_time_p33"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["response_time_p33", b"response_time_p33"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ResponseRateSome: typing_extensions.TypeAlias = ResponseRateSome

@typing.final
class ResponseRateMost(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESPONSE_TIME_P33_FIELD_NUMBER: builtins.int
    RESPONSE_TIME_P66_FIELD_NUMBER: builtins.int
    @property
    def response_time_p33(self) -> google.protobuf.duration_pb2.Duration:
        """the 33rd percentile response time"""

    @property
    def response_time_p66(self) -> google.protobuf.duration_pb2.Duration:
        """the 66th percentile response time"""

    def __init__(
        self,
        *,
        response_time_p33: google.protobuf.duration_pb2.Duration | None = ...,
        response_time_p66: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["response_time_p33", b"response_time_p33", "response_time_p66", b"response_time_p66"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["response_time_p33", b"response_time_p33", "response_time_p66", b"response_time_p66"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ResponseRateMost: typing_extensions.TypeAlias = ResponseRateMost

@typing.final
class ResponseRateAlmostAll(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESPONSE_TIME_P33_FIELD_NUMBER: builtins.int
    RESPONSE_TIME_P66_FIELD_NUMBER: builtins.int
    @property
    def response_time_p33(self) -> google.protobuf.duration_pb2.Duration:
        """the 33rd percentile response time"""

    @property
    def response_time_p66(self) -> google.protobuf.duration_pb2.Duration:
        """the 66th percentile response time"""

    def __init__(
        self,
        *,
        response_time_p33: google.protobuf.duration_pb2.Duration | None = ...,
        response_time_p66: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["response_time_p33", b"response_time_p33", "response_time_p66", b"response_time_p66"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["response_time_p33", b"response_time_p33", "response_time_p66", b"response_time_p66"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ResponseRateAlmostAll: typing_extensions.TypeAlias = ResponseRateAlmostAll

@typing.final
class GetResponseRateRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INSUFFICIENT_DATA_FIELD_NUMBER: builtins.int
    LOW_FIELD_NUMBER: builtins.int
    SOME_FIELD_NUMBER: builtins.int
    MOST_FIELD_NUMBER: builtins.int
    ALMOST_ALL_FIELD_NUMBER: builtins.int
    @property
    def insufficient_data(self) -> Global___ResponseRateInsufficientData:
        """received <3 requests"""

    @property
    def low(self) -> Global___ResponseRateLow:
        """response rate <= 33%"""

    @property
    def some(self) -> Global___ResponseRateSome:
        """response rate > 33%, but <= 66%"""

    @property
    def most(self) -> Global___ResponseRateMost:
        """response rate > 66%, but <= 90%"""

    @property
    def almost_all(self) -> Global___ResponseRateAlmostAll:
        """response rate > 90%"""

    def __init__(
        self,
        *,
        insufficient_data: Global___ResponseRateInsufficientData | None = ...,
        low: Global___ResponseRateLow | None = ...,
        some: Global___ResponseRateSome | None = ...,
        most: Global___ResponseRateMost | None = ...,
        almost_all: Global___ResponseRateAlmostAll | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["almost_all", b"almost_all", "insufficient_data", b"insufficient_data", "low", b"low", "most", b"most", "response_rate", b"response_rate", "some", b"some"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["almost_all", b"almost_all", "insufficient_data", b"insufficient_data", "low", b"low", "most", b"most", "response_rate", b"response_rate", "some", b"some"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_response_rate: typing_extensions.TypeAlias = typing.Literal["insufficient_data", "low", "some", "most", "almost_all"]
    _WhichOneofArgType_response_rate: typing_extensions.TypeAlias = typing.Literal["response_rate", b"response_rate"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType_response_rate) -> _WhichOneofReturnType_response_rate | None: ...

Global___GetResponseRateRes: typing_extensions.TypeAlias = GetResponseRateRes

@typing.final
class SendHostRequestFeedbackReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    HOST_REQUEST_QUALITY_FIELD_NUMBER: builtins.int
    DECLINE_REASON_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    host_request_quality: Global___HostRequestQuality.ValueType
    decline_reason: builtins.str
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        host_request_quality: Global___HostRequestQuality.ValueType | None = ...,
        decline_reason: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["decline_reason", b"decline_reason", "host_request_id", b"host_request_id", "host_request_quality", b"host_request_quality"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SendHostRequestFeedbackReq: typing_extensions.TypeAlias = SendHostRequestFeedbackReq
