"""
@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.message
import google.protobuf.timestamp_pb2
import onyx_otc.v2.common_pb2
import onyx_otc.v2.types_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    CLIENT_ORDER_ID_FIELD_NUMBER: builtins.int
    ACCOUNT_ID_FIELD_NUMBER: builtins.int
    SYMBOL_FIELD_NUMBER: builtins.int
    QUANTITY_FIELD_NUMBER: builtins.int
    SIDE_FIELD_NUMBER: builtins.int
    ORDER_TYPE_FIELD_NUMBER: builtins.int
    PRICE_FIELD_NUMBER: builtins.int
    EXCHANGE_FIELD_NUMBER: builtins.int
    client_order_id: builtins.str
    account_id: builtins.str
    side: onyx_otc.v2.types_pb2.Side.ValueType
    order_type: onyx_otc.v2.types_pb2.OrderType.ValueType
    exchange: onyx_otc.v2.types_pb2.Exchange.ValueType
    @property
    def symbol(self) -> onyx_otc.v2.common_pb2.TradableSymbol: ...
    @property
    def quantity(self) -> onyx_otc.v2.common_pb2.Decimal: ...
    @property
    def price(self) -> onyx_otc.v2.common_pb2.Decimal: ...
    def __init__(
        self,
        *,
        client_order_id: builtins.str | None = ...,
        account_id: builtins.str = ...,
        symbol: onyx_otc.v2.common_pb2.TradableSymbol | None = ...,
        quantity: onyx_otc.v2.common_pb2.Decimal | None = ...,
        side: onyx_otc.v2.types_pb2.Side.ValueType = ...,
        order_type: onyx_otc.v2.types_pb2.OrderType.ValueType = ...,
        price: onyx_otc.v2.common_pb2.Decimal | None = ...,
        exchange: onyx_otc.v2.types_pb2.Exchange.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_client_order_id", b"_client_order_id", "_exchange", b"_exchange", "client_order_id", b"client_order_id", "exchange", b"exchange", "price", b"price", "quantity", b"quantity", "symbol", b"symbol"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_client_order_id", b"_client_order_id", "_exchange", b"_exchange", "account_id", b"account_id", "client_order_id", b"client_order_id", "exchange", b"exchange", "order_type", b"order_type", "price", b"price", "quantity", b"quantity", "side", b"side", "symbol", b"symbol"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_client_order_id", b"_client_order_id"]) -> typing.Literal["client_order_id"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_exchange", b"_exchange"]) -> typing.Literal["exchange"] | None: ...

global___NewOrderRequest = NewOrderRequest

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

    PRODUCTS_FIELD_NUMBER: builtins.int
    @property
    def products(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        products: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["products", b"products"]) -> None: ...

global___TickersChannel = TickersChannel

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

    SYMBOL_FIELD_NUMBER: builtins.int
    SIZE_FIELD_NUMBER: builtins.int
    EXCHANGE_FIELD_NUMBER: builtins.int
    exchange: onyx_otc.v2.types_pb2.Exchange.ValueType
    @property
    def symbol(self) -> onyx_otc.v2.common_pb2.TradableSymbol: ...
    @property
    def size(self) -> onyx_otc.v2.common_pb2.Decimal: ...
    def __init__(
        self,
        *,
        symbol: onyx_otc.v2.common_pb2.TradableSymbol | None = ...,
        size: onyx_otc.v2.common_pb2.Decimal | None = ...,
        exchange: onyx_otc.v2.types_pb2.Exchange.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_exchange", b"_exchange", "exchange", b"exchange", "size", b"size", "symbol", b"symbol"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_exchange", b"_exchange", "exchange", b"exchange", "size", b"size", "symbol", b"symbol"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_exchange", b"_exchange"]) -> typing.Literal["exchange"] | None: ...

global___RfqChannel = RfqChannel

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

    PRODUCTS_FIELD_NUMBER: builtins.int
    @property
    def products(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        products: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["products", b"products"]) -> None: ...

global___OrderBookTopChannel = OrderBookTopChannel

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

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

global___ServerInfoChannel = ServerInfoChannel

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

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

global___OrdersChannel = OrdersChannel

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

    TOKEN_FIELD_NUMBER: builtins.int
    token: builtins.str
    def __init__(
        self,
        *,
        token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["token", b"token"]) -> None: ...

global___Auth = Auth

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

    SERVER_INFO_FIELD_NUMBER: builtins.int
    ORDERS_FIELD_NUMBER: builtins.int
    TICKERS_FIELD_NUMBER: builtins.int
    RFQ_CHANNEL_FIELD_NUMBER: builtins.int
    ORDER_BOOK_TOP_FIELD_NUMBER: builtins.int
    @property
    def server_info(self) -> global___ServerInfoChannel: ...
    @property
    def orders(self) -> global___OrdersChannel: ...
    @property
    def tickers(self) -> global___TickersChannel: ...
    @property
    def rfq_channel(self) -> global___RfqChannel: ...
    @property
    def order_book_top(self) -> global___OrderBookTopChannel: ...
    def __init__(
        self,
        *,
        server_info: global___ServerInfoChannel | None = ...,
        orders: global___OrdersChannel | None = ...,
        tickers: global___TickersChannel | None = ...,
        rfq_channel: global___RfqChannel | None = ...,
        order_book_top: global___OrderBookTopChannel | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["channel", b"channel", "order_book_top", b"order_book_top", "orders", b"orders", "rfq_channel", b"rfq_channel", "server_info", b"server_info", "tickers", b"tickers"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["channel", b"channel", "order_book_top", b"order_book_top", "orders", b"orders", "rfq_channel", b"rfq_channel", "server_info", b"server_info", "tickers", b"tickers"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["channel", b"channel"]) -> typing.Literal["server_info", "orders", "tickers", "rfq_channel", "order_book_top"] | None: ...

global___Subscribe = Subscribe

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

    SERVER_INFO_FIELD_NUMBER: builtins.int
    ORDERS_FIELD_NUMBER: builtins.int
    TICKERS_FIELD_NUMBER: builtins.int
    RFQ_CHANNEL_FIELD_NUMBER: builtins.int
    ORDER_BOOK_TOP_FIELD_NUMBER: builtins.int
    @property
    def server_info(self) -> global___ServerInfoChannel: ...
    @property
    def orders(self) -> global___OrdersChannel: ...
    @property
    def tickers(self) -> global___TickersChannel: ...
    @property
    def rfq_channel(self) -> global___RfqChannel: ...
    @property
    def order_book_top(self) -> global___OrderBookTopChannel: ...
    def __init__(
        self,
        *,
        server_info: global___ServerInfoChannel | None = ...,
        orders: global___OrdersChannel | None = ...,
        tickers: global___TickersChannel | None = ...,
        rfq_channel: global___RfqChannel | None = ...,
        order_book_top: global___OrderBookTopChannel | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["channel", b"channel", "order_book_top", b"order_book_top", "orders", b"orders", "rfq_channel", b"rfq_channel", "server_info", b"server_info", "tickers", b"tickers"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["channel", b"channel", "order_book_top", b"order_book_top", "orders", b"orders", "rfq_channel", b"rfq_channel", "server_info", b"server_info", "tickers", b"tickers"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["channel", b"channel"]) -> typing.Literal["server_info", "orders", "tickers", "rfq_channel", "order_book_top"] | None: ...

global___Unsubscribe = Unsubscribe

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

    ID_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    METHOD_FIELD_NUMBER: builtins.int
    AUTH_FIELD_NUMBER: builtins.int
    SUBSCRIBE_FIELD_NUMBER: builtins.int
    UNSUBSCRIBE_FIELD_NUMBER: builtins.int
    ORDER_FIELD_NUMBER: builtins.int
    id: builtins.str
    method: onyx_otc.v2.types_pb2.Method.ValueType
    @property
    def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def auth(self) -> global___Auth: ...
    @property
    def subscribe(self) -> global___Subscribe: ...
    @property
    def unsubscribe(self) -> global___Unsubscribe: ...
    @property
    def order(self) -> global___NewOrderRequest: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        method: onyx_otc.v2.types_pb2.Method.ValueType = ...,
        auth: global___Auth | None = ...,
        subscribe: global___Subscribe | None = ...,
        unsubscribe: global___Unsubscribe | None = ...,
        order: global___NewOrderRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["auth", b"auth", "order", b"order", "request", b"request", "subscribe", b"subscribe", "timestamp", b"timestamp", "unsubscribe", b"unsubscribe"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["auth", b"auth", "id", b"id", "method", b"method", "order", b"order", "request", b"request", "subscribe", b"subscribe", "timestamp", b"timestamp", "unsubscribe", b"unsubscribe"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["request", b"request"]) -> typing.Literal["auth", "subscribe", "unsubscribe", "order"] | None: ...

global___OtcRequest = OtcRequest
