# Generated by sila2.code_generator; sila2.__version__: 0.12.2
# -----
# This class does not do anything useful at runtime. Its only purpose is to provide type annotations.
# Since sphinx does not support .pyi files (yet?), this is a .py file.
# -----

from __future__ import annotations

from typing import TYPE_CHECKING

if TYPE_CHECKING:

    from typing import Iterable, Optional

    from sessionmanagement_types import SessionCreate_Responses, SessionDelete_Responses
    from sila2.client import ClientMetadataInstance


class SessionManagementClient:
    """

    The features allows you to take exclusive access to the Opentron, this
    is required to run any other commands.

    """

    def SessionCreate(self, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None) -> SessionCreate_Responses:
        """
        Creates a session to allow for controlling the Opentrons

        """
        ...

    def SessionDelete(
        self, SessionToken: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
    ) -> SessionDelete_Responses:
        """
        This stops the session and disables access through SiLA2

        """
        ...
