"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import avikom.unity.game_object_pb2
import avikom.unity.waypoint_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class SceneConfig(google.protobuf.message.Message):
    """*
    This message describes a scene config and contains location-bound parameters.
    It should also provide semantic anchors for task-specific configurations to be attached. 
    @author: Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCENE_NAME_FIELD_NUMBER: builtins.int
    ANCHORS_FIELD_NUMBER: builtins.int
    ASSETS_FIELD_NUMBER: builtins.int
    WAYPOINTS_FIELD_NUMBER: builtins.int
    scene_name: builtins.str
    """/ name of the scene the configuration belongs to"""
    @property
    def anchors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[avikom.unity.game_object_pb2.GameObject]:
        """/ marked locations that synchronize the real and virtual environment; most likely QR codes"""
    @property
    def assets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[avikom.unity.game_object_pb2.GameObject]:
        """/ objects that are positioned in the scene; may act as anchors for task-specific configurations"""
    @property
    def waypoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[avikom.unity.waypoint_pb2.Waypoint]:
        """/ coordinates that represents paths from one asset to antother. used to mark 'save' guidance routes"""
    def __init__(
        self,
        *,
        scene_name: builtins.str = ...,
        anchors: collections.abc.Iterable[avikom.unity.game_object_pb2.GameObject] | None = ...,
        assets: collections.abc.Iterable[avikom.unity.game_object_pb2.GameObject] | None = ...,
        waypoints: collections.abc.Iterable[avikom.unity.waypoint_pb2.Waypoint] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["anchors", b"anchors", "assets", b"assets", "scene_name", b"scene_name", "waypoints", b"waypoints"]) -> None: ...

global___SceneConfig = SceneConfig
