"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .apikey import APIKey, APIKeyTypedDict
from datetime import datetime
from mixpeek.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class UserModelInputMetadataTypedDict(TypedDict):
    pass


class UserModelInputMetadata(BaseModel):
    pass


class UserModelInputTypedDict(TypedDict):
    email: str
    user_id: NotRequired[str]
    api_keys: NotRequired[List[APIKeyTypedDict]]
    metadata: NotRequired[UserModelInputMetadataTypedDict]
    created_at: NotRequired[datetime]


class UserModelInput(BaseModel):
    email: str

    user_id: Optional[str] = None

    api_keys: Optional[List[APIKey]] = None

    metadata: Optional[UserModelInputMetadata] = None

    created_at: Optional[datetime] = None
