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

from collections import abc as abc
from google.protobuf import descriptor as descriptor
from google.protobuf import message as message
from google.protobuf.internal import containers as containers
import builtins as builtins
import sys
import typing as typing

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

DESCRIPTOR: descriptor.FileDescriptor

@typing.final
class FollowedFlight(message.Message):
    DESCRIPTOR: descriptor.Descriptor

    FLIGHT_ID_FIELD_NUMBER: builtins.int
    LIVE_CLICKS_FIELD_NUMBER: builtins.int
    TOTAL_CLICKS_FIELD_NUMBER: builtins.int
    FLIGHT_NUMBER_FIELD_NUMBER: builtins.int
    CALLSIGN_FIELD_NUMBER: builtins.int
    SQUAWK_FIELD_NUMBER: builtins.int
    FROM_IATA_FIELD_NUMBER: builtins.int
    FROM_CITY_FIELD_NUMBER: builtins.int
    TO_IATA_FIELD_NUMBER: builtins.int
    TO_CITY_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    FULL_DESCRIPTION_FIELD_NUMBER: builtins.int
    flight_id: builtins.int
    """FR24 Flight ID (e.g. `962709904` = `0x3961c990`)"""
    live_clicks: builtins.int
    """Number of live clicks/views (e.g. `1212`)"""
    total_clicks: builtins.int
    """Total number of clicks/views (e.g. `6128`)"""
    flight_number: builtins.str
    """Flight number (e.g. `"EK261"`)"""
    callsign: builtins.str
    """Callsign (e.g. `"UAE261"`)"""
    squawk: builtins.int
    """Squawk code (e.g. `4032` = `0o7700`)"""
    from_iata: builtins.str
    """IATA code of origin airport (e.g. `"DXB"`)"""
    from_city: builtins.str
    """City name of origin airport (e.g. `"Dubai"`)"""
    to_iata: builtins.str
    """IATA code of destination airport (e.g. `"GRU"`)"""
    to_city: builtins.str
    """City name of destination airport (e.g. `"Sao Paulo"`)"""
    type: builtins.str
    """Aircraft type code (e.g. `"A388"`)"""
    full_description: builtins.str
    """Full aircraft description (e.g. `"Airbus A380-861"`)"""
    def __init__(
        self,
        *,
        flight_id: builtins.int = ...,
        live_clicks: builtins.int = ...,
        total_clicks: builtins.int = ...,
        flight_number: builtins.str = ...,
        callsign: builtins.str = ...,
        squawk: builtins.int = ...,
        from_iata: builtins.str = ...,
        from_city: builtins.str = ...,
        to_iata: builtins.str = ...,
        to_city: builtins.str = ...,
        type: builtins.str = ...,
        full_description: builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = typing.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"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

@typing.final
class TopFlightsRequest(message.Message):
    DESCRIPTOR: descriptor.Descriptor

    LIMIT_FIELD_NUMBER: builtins.int
    limit: builtins.int
    """1..=10"""
    def __init__(
        self,
        *,
        limit: builtins.int = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = typing.Literal["limit", b"limit"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

@typing.final
class TopFlightsResponse(message.Message):
    DESCRIPTOR: descriptor.Descriptor

    SCOREBOARD_LIST_FIELD_NUMBER: builtins.int
    @builtins.property
    def scoreboard_list(self) -> containers.RepeatedCompositeFieldContainer[FollowedFlight]: ...
    def __init__(
        self,
        *,
        scoreboard_list: abc.Iterable[FollowedFlight] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = typing.Literal["scoreboard_list", b"scoreboard_list"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
