from google.protobuf import empty_pb2 as _empty_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class DriverListResponse(_message.Message):
    __slots__ = ("drivers",)
    DRIVERS_FIELD_NUMBER: _ClassVar[int]
    drivers: _containers.RepeatedCompositeFieldContainer[DriverInfo]
    def __init__(self, drivers: _Optional[_Iterable[_Union[DriverInfo, _Mapping]]] = ...) -> None: ...

class DriverInfo(_message.Message):
    __slots__ = ("driver_id", "display_name", "version", "file_size_bytes")
    DRIVER_ID_FIELD_NUMBER: _ClassVar[int]
    DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int]
    VERSION_FIELD_NUMBER: _ClassVar[int]
    FILE_SIZE_BYTES_FIELD_NUMBER: _ClassVar[int]
    driver_id: str
    display_name: str
    version: str
    file_size_bytes: int
    def __init__(self, driver_id: _Optional[str] = ..., display_name: _Optional[str] = ..., version: _Optional[str] = ..., file_size_bytes: _Optional[int] = ...) -> None: ...

class DriverRequest(_message.Message):
    __slots__ = ("driver_id",)
    DRIVER_ID_FIELD_NUMBER: _ClassVar[int]
    driver_id: str
    def __init__(self, driver_id: _Optional[str] = ...) -> None: ...

class FileChunk(_message.Message):
    __slots__ = ("content", "offset")
    CONTENT_FIELD_NUMBER: _ClassVar[int]
    OFFSET_FIELD_NUMBER: _ClassVar[int]
    content: bytes
    offset: int
    def __init__(self, content: _Optional[bytes] = ..., offset: _Optional[int] = ...) -> None: ...
