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

from __future__ import annotations
from mistralai.client.types import BaseModel, UnrecognizedStr
from typing import Any, Literal, Union
from typing_extensions import TypedDict


Op = Union[
    Literal[
        "lt",
        "lte",
        "gt",
        "gte",
        "startswith",
        "istartswith",
        "endswith",
        "iendswith",
        "contains",
        "icontains",
        "matches",
        "notcontains",
        "inotcontains",
        "eq",
        "neq",
        "isnull",
        "includes",
        "excludes",
        "len_eq",
    ],
    UnrecognizedStr,
]


class FilterConditionTypedDict(TypedDict):
    field: str
    op: Op
    value: Any


class FilterCondition(BaseModel):
    field: str

    op: Op

    value: Any
