"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import bf_proto.percept.common.geometric_shapes_pb2
import bf_proto.percept.common.geometry_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class Object(google.protobuf.message.Message):
    """*
    A message representing exactly one object.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Classification(google.protobuf.message.Message):
        """*
        Classification of an object.
        """
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class Type(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            ID_FIELD_NUMBER: builtins.int
            CONFIDENCE_FIELD_NUMBER: builtins.int
            id: builtins.int = ...
            """id of the object class"""

            confidence: builtins.float = ...
            """Confidence level of the class."""

            def __init__(self,
                *,
                id : builtins.int = ...,
                confidence : builtins.float = ...,
                ) -> None: ...
            def ClearField(self, field_name: typing_extensions.Literal[u"confidence",b"confidence",u"id",b"id"]) -> None: ...

        TYPES_FIELD_NUMBER: builtins.int
        @property
        def types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Object.Classification.Type]: ...
        def __init__(self,
            *,
            types : typing.Optional[typing.Iterable[global___Object.Classification.Type]] = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"types",b"types"]) -> None: ...

    TIMESTAMP_FIELD_NUMBER: builtins.int
    UUID_FIELD_NUMBER: builtins.int
    POSE_FIELD_NUMBER: builtins.int
    LINEAR_VELOCITY_FIELD_NUMBER: builtins.int
    ANGULAR_VELOCITY_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    CLASSIFICATION_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    @property
    def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Timestamp of measurement."""
        pass
    uuid: typing.Text = ...
    """A UUID, with which the object can be identified."""

    @property
    def pose(self) -> bf_proto.percept.common.geometry_pb2.Pose:
        """The position and orientation of the object."""
        pass
    @property
    def linear_velocity(self) -> bf_proto.percept.common.geometry_pb2.Vector3:
        """The linear velocity of the object."""
        pass
    @property
    def angular_velocity(self) -> bf_proto.percept.common.geometry_pb2.Vector3:
        """The angular velocity of the object."""
        pass
    @property
    def shape(self) -> bf_proto.percept.common.geometric_shapes_pb2.Shape:
        """The shape representing the object (bounding box)."""
        pass
    @property
    def classification(self) -> global___Object.Classification:
        """Classification information of the object."""
        pass
    @property
    def path(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[bf_proto.percept.common.geometry_pb2.Pose]:
        """List of the last poses including the current pose"""
        pass
    def __init__(self,
        *,
        timestamp : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        uuid : typing.Text = ...,
        pose : typing.Optional[bf_proto.percept.common.geometry_pb2.Pose] = ...,
        linear_velocity : typing.Optional[bf_proto.percept.common.geometry_pb2.Vector3] = ...,
        angular_velocity : typing.Optional[bf_proto.percept.common.geometry_pb2.Vector3] = ...,
        shape : typing.Optional[bf_proto.percept.common.geometric_shapes_pb2.Shape] = ...,
        classification : typing.Optional[global___Object.Classification] = ...,
        path : typing.Optional[typing.Iterable[bf_proto.percept.common.geometry_pb2.Pose]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"angular_velocity",b"angular_velocity",u"classification",b"classification",u"linear_velocity",b"linear_velocity",u"pose",b"pose",u"shape",b"shape",u"timestamp",b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"angular_velocity",b"angular_velocity",u"classification",b"classification",u"linear_velocity",b"linear_velocity",u"path",b"path",u"pose",b"pose",u"shape",b"shape",u"timestamp",b"timestamp",u"uuid",b"uuid"]) -> None: ...
global___Object = Object
