"""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 Any, Dict, List, Optional
from typing_extensions import NotRequired, TypedDict


class UserModelInputTypedDict(TypedDict):
    email: str
    user_id: NotRequired[str]
    user_name: NotRequired[str]
    api_keys: NotRequired[List[APIKeyTypedDict]]
    metadata: NotRequired[Dict[str, Any]]
    created_at: NotRequired[datetime]


class UserModelInput(BaseModel):
    email: str

    user_id: Optional[str] = None

    user_name: Optional[str] = None

    api_keys: Optional[List[APIKey]] = None

    metadata: Optional[Dict[str, Any]] = None

    created_at: Optional[datetime] = None
