from ._meta import ModelMeta as ModelMeta
from ._typing import UNASSIGNED as UNASSIGNED, UnassignedType as UnassignedType
from .exceptions import InvalidModelError as InvalidModelError
from .field import FieldInfo as FieldInfo, FieldType as FieldType, ModelFieldMap as ModelFieldMap
from typing import Any, Generic

class Model(Generic[FieldType], metaclass=ModelMeta):
    __field_class__: type[FieldType]
    __fields_map__: ModelFieldMap[FieldType]
    def __init__(self, **kwargs: Any) -> None: ...
    def __post_init__(self) -> None: ...
    def __init_kwargs__(self, init_kwargs: dict[str, Any]) -> None: ...
    def __init_defaults__(self, exclude: set[str] | None = None) -> None: ...
    def dict(self, *, include: list[str] | None = None, exclude: list[str] | None = None) -> dict[str, Any]: ...
    def __eq__(self, other: object) -> bool: ...
