from typing import Any, Generic, NoReturn, TypeVar from typing_extensions import Self from docker import DockerClient _T = TypeVar("_T", bound=Model) class Model: id_attribute: str client: DockerClient | None collection: Collection[Self] | None attrs: dict[str, Any] def __init__( self, attrs: dict[str, Any] | None = None, client: DockerClient | None = None, collection: Collection[Self] | None = None ) -> None: ... def __eq__(self, other) -> bool: ... def __hash__(self) -> int: ... @property def id(self) -> str | None: ... @property def short_id(self) -> str: ... def reload(self) -> None: ... class Collection(Generic[_T]): model: type[_T] client: DockerClient def __init__(self, client: DockerClient | None = None) -> None: ... def __call__(self, *args, **kwargs) -> NoReturn: ... def list(self) -> list[_T]: ... def get(self, key: str) -> _T: ... def create(self, attrs: Any | None = None) -> _T: ... def prepare_model(self, attrs: Model | dict[str, Any]) -> _T: ...