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

DESCRIPTOR: _descriptor.FileDescriptor

class Ball(_message.Message):
    __slots__ = ["vx", "vy", "vz", "x", "y", "z"]
    VX_FIELD_NUMBER: _ClassVar[int]
    VY_FIELD_NUMBER: _ClassVar[int]
    VZ_FIELD_NUMBER: _ClassVar[int]
    X_FIELD_NUMBER: _ClassVar[int]
    Y_FIELD_NUMBER: _ClassVar[int]
    Z_FIELD_NUMBER: _ClassVar[int]
    vx: float
    vy: float
    vz: float
    x: float
    y: float
    z: float
    def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ..., z: _Optional[float] = ..., vx: _Optional[float] = ..., vy: _Optional[float] = ..., vz: _Optional[float] = ...) -> None: ...

class Field(_message.Message):
    __slots__ = ["center_radius", "goal_depth", "goal_width", "length", "penalty_depth", "penalty_point", "penalty_width", "width"]
    CENTER_RADIUS_FIELD_NUMBER: _ClassVar[int]
    GOAL_DEPTH_FIELD_NUMBER: _ClassVar[int]
    GOAL_WIDTH_FIELD_NUMBER: _ClassVar[int]
    LENGTH_FIELD_NUMBER: _ClassVar[int]
    PENALTY_DEPTH_FIELD_NUMBER: _ClassVar[int]
    PENALTY_POINT_FIELD_NUMBER: _ClassVar[int]
    PENALTY_WIDTH_FIELD_NUMBER: _ClassVar[int]
    WIDTH_FIELD_NUMBER: _ClassVar[int]
    center_radius: float
    goal_depth: float
    goal_width: float
    length: float
    penalty_depth: float
    penalty_point: float
    penalty_width: float
    width: float
    def __init__(self, width: _Optional[float] = ..., length: _Optional[float] = ..., goal_width: _Optional[float] = ..., goal_depth: _Optional[float] = ..., center_radius: _Optional[float] = ..., penalty_width: _Optional[float] = ..., penalty_depth: _Optional[float] = ..., penalty_point: _Optional[float] = ...) -> None: ...

class Frame(_message.Message):
    __slots__ = ["ball", "robots_blue", "robots_yellow"]
    BALL_FIELD_NUMBER: _ClassVar[int]
    ROBOTS_BLUE_FIELD_NUMBER: _ClassVar[int]
    ROBOTS_YELLOW_FIELD_NUMBER: _ClassVar[int]
    ball: Ball
    robots_blue: _containers.RepeatedCompositeFieldContainer[Robot]
    robots_yellow: _containers.RepeatedCompositeFieldContainer[Robot]
    def __init__(self, ball: _Optional[_Union[Ball, _Mapping]] = ..., robots_yellow: _Optional[_Iterable[_Union[Robot, _Mapping]]] = ..., robots_blue: _Optional[_Iterable[_Union[Robot, _Mapping]]] = ...) -> None: ...

class Robot(_message.Message):
    __slots__ = ["orientation", "robot_id", "vorientation", "vx", "vy", "x", "y"]
    ORIENTATION_FIELD_NUMBER: _ClassVar[int]
    ROBOT_ID_FIELD_NUMBER: _ClassVar[int]
    VORIENTATION_FIELD_NUMBER: _ClassVar[int]
    VX_FIELD_NUMBER: _ClassVar[int]
    VY_FIELD_NUMBER: _ClassVar[int]
    X_FIELD_NUMBER: _ClassVar[int]
    Y_FIELD_NUMBER: _ClassVar[int]
    orientation: float
    robot_id: int
    vorientation: float
    vx: float
    vy: float
    x: float
    y: float
    def __init__(self, robot_id: _Optional[int] = ..., x: _Optional[float] = ..., y: _Optional[float] = ..., orientation: _Optional[float] = ..., vx: _Optional[float] = ..., vy: _Optional[float] = ..., vorientation: _Optional[float] = ...) -> None: ...
