import contextlib from typing import Any, Protocol from app.adapters.db import Model class OverrideSettings(Protocol): def __call__(self, **kwargs: Any) -> contextlib.AbstractContextManager[None]: ... class BuildModel(Protocol): def __call__[T](self, model: type[T], **kwargs: Any) -> T: ... class CreateModel(Protocol): def __call__[T: Model](self, model: type[T], **kwargs: Any) -> T: ...