"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
# @generated-id: 4fb7f3c0e51b

from __future__ import annotations
from mistralai.client.types import BaseModel
from mistralai.client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata
from typing import Literal
from typing_extensions import Annotated, TypedDict


Operator = Literal[
    "lt",
    "lte",
    "gt",
    "gte",
    "startswith",
    "istartswith",
    "endswith",
    "iendswith",
    "contains",
    "icontains",
    "matches",
    "notcontains",
    "inotcontains",
    "eq",
    "neq",
    "isnull",
    "includes",
    "excludes",
    "len_eq",
]
r"""The operator to use for filtering options"""


class GetChatCompletionFieldOptionsV1ObservabilityChatCompletionFieldsFieldNameOptionsGetRequestTypedDict(
    TypedDict
):
    field_name: str
    operator: Operator
    r"""The operator to use for filtering options"""


class GetChatCompletionFieldOptionsV1ObservabilityChatCompletionFieldsFieldNameOptionsGetRequest(
    BaseModel
):
    field_name: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]

    operator: Annotated[
        Operator, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
    ]
    r"""The operator to use for filtering options"""
