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

from builtins import (
    int,
    str,
)
from collections.abc import (
    Iterable,
)
from google.protobuf.descriptor import (
    Descriptor,
    FileDescriptor,
)
from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer,
)
from google.protobuf.message import (
    Message,
)
from typing import (
    Literal,
    final,
)

DESCRIPTOR: FileDescriptor

@final
class FollowedFlight(Message):
    DESCRIPTOR: Descriptor

    FLIGHT_ID_FIELD_NUMBER: int
    LIVE_CLICKS_FIELD_NUMBER: int
    TOTAL_CLICKS_FIELD_NUMBER: int
    FLIGHT_NUMBER_FIELD_NUMBER: int
    CALLSIGN_FIELD_NUMBER: int
    SQUAWK_FIELD_NUMBER: int
    FROM_IATA_FIELD_NUMBER: int
    FROM_CITY_FIELD_NUMBER: int
    TO_IATA_FIELD_NUMBER: int
    TO_CITY_FIELD_NUMBER: int
    TYPE_FIELD_NUMBER: int
    FULL_DESCRIPTION_FIELD_NUMBER: int
    flight_id: int
    live_clicks: int
    total_clicks: int
    flight_number: str
    callsign: str
    squawk: int
    from_iata: str
    from_city: str
    to_iata: str
    to_city: str
    type: str
    full_description: str
    def __init__(
        self,
        *,
        flight_id: int = ...,
        live_clicks: int = ...,
        total_clicks: int = ...,
        flight_number: str = ...,
        callsign: str = ...,
        squawk: int = ...,
        from_iata: str = ...,
        from_city: str = ...,
        to_iata: str = ...,
        to_city: str = ...,
        type: str = ...,
        full_description: str = ...,
    ) -> None: ...
    def ClearField(self, field_name: Literal["callsign", b"callsign", "flight_id", b"flight_id", "flight_number", b"flight_number", "from_city", b"from_city", "from_iata", b"from_iata", "full_description", b"full_description", "live_clicks", b"live_clicks", "squawk", b"squawk", "to_city", b"to_city", "to_iata", b"to_iata", "total_clicks", b"total_clicks", "type", b"type"]) -> None: ...

@final
class TopFlightsRequest(Message):
    DESCRIPTOR: Descriptor

    LIMIT_FIELD_NUMBER: int
    limit: int
    """1..=10"""
    def __init__(
        self,
        *,
        limit: int = ...,
    ) -> None: ...
    def ClearField(self, field_name: Literal["limit", b"limit"]) -> None: ...

@final
class TopFlightsResponse(Message):
    DESCRIPTOR: Descriptor

    SCOREBOARD_LIST_FIELD_NUMBER: int
    @property
    def scoreboard_list(self) -> RepeatedCompositeFieldContainer[FollowedFlight]: ...
    def __init__(
        self,
        *,
        scoreboard_list: Iterable[FollowedFlight] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: Literal["scoreboard_list", b"scoreboard_list"]) -> None: ...
