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

from __future__ import annotations
from fermisdk.types import BaseModel
from fermisdk.utils import FieldMetadata, QueryParamMetadata
import pydantic
from typing import Literal
from typing_extensions import Annotated, TypedDict


ProviderConfigKey = Literal[
    "documents",
    "google-mail",
    "google-drive",
    "google-drive-files",
    "mysql",
    "postgresql",
    "mssql",
    "oracle",
    "mariadb",
    "mongodb",
]
r"""Provider config key"""


class ListConnectionsRequestTypedDict(TypedDict):
    provider_config_key: ProviderConfigKey
    r"""Provider config key"""


class ListConnectionsRequest(BaseModel):
    provider_config_key: Annotated[
        ProviderConfigKey,
        pydantic.Field(alias="providerConfigKey"),
        FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
    ]
    r"""Provider config key"""
