from _typeshed import Incomplete, Unused
from typing_extensions import Self

class ControlClientError(Exception): ...

class ControlClient:
    socket_path: str
    timeout: float
    def __init__(self, socket_path: str, timeout: float = 30.0) -> None: ...
    def connect(self) -> None: ...
    def close(self) -> None: ...
    def send_command(self, command: str, args: list[str] | None = None) -> dict[Incomplete, Incomplete]: ...
    def __enter__(self) -> Self: ...
    def __exit__(self, *args: Unused) -> None: ...

def parse_command(line: str) -> tuple[str, list[str]]: ...
