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

from __future__ import annotations
from fermisdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class DatabaseTypedDict(TypedDict):
    name: NotRequired[str]
    collections: NotRequired[List[str]]


class Database(BaseModel):
    name: Optional[str] = None

    collections: Optional[List[str]] = None


class DatabaseMetadataResponseMetadataTypedDict(TypedDict):
    databases: NotRequired[List[DatabaseTypedDict]]


class DatabaseMetadataResponseMetadata(BaseModel):
    databases: Optional[List[Database]] = None


class DatabaseMetadataResponseTypedDict(TypedDict):
    success: NotRequired[bool]
    metadata: NotRequired[DatabaseMetadataResponseMetadataTypedDict]


class DatabaseMetadataResponse(BaseModel):
    success: Optional[bool] = None

    metadata: Optional[DatabaseMetadataResponseMetadata] = None
