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

from __future__ import annotations
from .modeldetails import ModelDetails, ModelDetailsTypedDict
from .payloadindextype import PayloadIndexType, PayloadIndexTypeTypedDict
from mixpeek.types import BaseModel
from typing import Dict, List
from typing_extensions import TypedDict


class AvailableModelsResponseTypedDict(TypedDict):
    r"""Response schema for available models endpoint"""

    embedding_models: Dict[str, ModelDetailsTypedDict]
    r"""Dictionary mapping model names to their detailed specifications"""
    payload_indexes: List[PayloadIndexTypeTypedDict]
    r"""List of available payload index types that can be used for filtering"""


class AvailableModelsResponse(BaseModel):
    r"""Response schema for available models endpoint"""

    embedding_models: Dict[str, ModelDetails]
    r"""Dictionary mapping model names to their detailed specifications"""

    payload_indexes: List[PayloadIndexType]
    r"""List of available payload index types that can be used for filtering"""
