from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class CANCardParameter(_message.Message):
    __slots__ = ("brand", "type", "channel_id", "interface", "num_ports", "baudrate")
    class CANCardBrand(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
        __slots__ = ()
        FAKE_CAN: _ClassVar[CANCardParameter.CANCardBrand]
        ESD_CAN: _ClassVar[CANCardParameter.CANCardBrand]
        SOCKET_CAN_RAW: _ClassVar[CANCardParameter.CANCardBrand]
        HERMES_CAN: _ClassVar[CANCardParameter.CANCardBrand]
    FAKE_CAN: CANCardParameter.CANCardBrand
    ESD_CAN: CANCardParameter.CANCardBrand
    SOCKET_CAN_RAW: CANCardParameter.CANCardBrand
    HERMES_CAN: CANCardParameter.CANCardBrand
    class CANCardType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
        __slots__ = ()
        PCI_CARD: _ClassVar[CANCardParameter.CANCardType]
        USB_CARD: _ClassVar[CANCardParameter.CANCardType]
    PCI_CARD: CANCardParameter.CANCardType
    USB_CARD: CANCardParameter.CANCardType
    class CANChannelId(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
        __slots__ = ()
        CHANNEL_ID_ZERO: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_ONE: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_TWO: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_THREE: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_FOUR: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_FIVE: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_SIX: _ClassVar[CANCardParameter.CANChannelId]
        CHANNEL_ID_SEVEN: _ClassVar[CANCardParameter.CANChannelId]
    CHANNEL_ID_ZERO: CANCardParameter.CANChannelId
    CHANNEL_ID_ONE: CANCardParameter.CANChannelId
    CHANNEL_ID_TWO: CANCardParameter.CANChannelId
    CHANNEL_ID_THREE: CANCardParameter.CANChannelId
    CHANNEL_ID_FOUR: CANCardParameter.CANChannelId
    CHANNEL_ID_FIVE: CANCardParameter.CANChannelId
    CHANNEL_ID_SIX: CANCardParameter.CANChannelId
    CHANNEL_ID_SEVEN: CANCardParameter.CANChannelId
    class CANInterface(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
        __slots__ = ()
        NATIVE: _ClassVar[CANCardParameter.CANInterface]
        VIRTUAL: _ClassVar[CANCardParameter.CANInterface]
        SLCAN: _ClassVar[CANCardParameter.CANInterface]
    NATIVE: CANCardParameter.CANInterface
    VIRTUAL: CANCardParameter.CANInterface
    SLCAN: CANCardParameter.CANInterface
    class BAUDRATE(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
        __slots__ = ()
        BCAN_BAUDRATE_1M: _ClassVar[CANCardParameter.BAUDRATE]
        BCAN_BAUDRATE_500K: _ClassVar[CANCardParameter.BAUDRATE]
        BCAN_BAUDRATE_250K: _ClassVar[CANCardParameter.BAUDRATE]
        BCAN_BAUDRATE_150K: _ClassVar[CANCardParameter.BAUDRATE]
        BCAN_BAUDRATE_NUM: _ClassVar[CANCardParameter.BAUDRATE]
    BCAN_BAUDRATE_1M: CANCardParameter.BAUDRATE
    BCAN_BAUDRATE_500K: CANCardParameter.BAUDRATE
    BCAN_BAUDRATE_250K: CANCardParameter.BAUDRATE
    BCAN_BAUDRATE_150K: CANCardParameter.BAUDRATE
    BCAN_BAUDRATE_NUM: CANCardParameter.BAUDRATE
    BRAND_FIELD_NUMBER: _ClassVar[int]
    TYPE_FIELD_NUMBER: _ClassVar[int]
    CHANNEL_ID_FIELD_NUMBER: _ClassVar[int]
    INTERFACE_FIELD_NUMBER: _ClassVar[int]
    NUM_PORTS_FIELD_NUMBER: _ClassVar[int]
    BAUDRATE_FIELD_NUMBER: _ClassVar[int]
    brand: CANCardParameter.CANCardBrand
    type: CANCardParameter.CANCardType
    channel_id: CANCardParameter.CANChannelId
    interface: CANCardParameter.CANInterface
    num_ports: int
    baudrate: CANCardParameter.BAUDRATE
    def __init__(self, brand: _Optional[_Union[CANCardParameter.CANCardBrand, str]] = ..., type: _Optional[_Union[CANCardParameter.CANCardType, str]] = ..., channel_id: _Optional[_Union[CANCardParameter.CANChannelId, str]] = ..., interface: _Optional[_Union[CANCardParameter.CANInterface, str]] = ..., num_ports: _Optional[int] = ..., baudrate: _Optional[_Union[CANCardParameter.BAUDRATE, str]] = ...) -> None: ...
