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

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


Condition = Literal[
    "and",
    "or",
]


class V3WorkflowsWorkflowFiltersTypedDict(TypedDict):
    type: NotRequired[str]
    key: NotRequired[str]
    value: NotRequired[str]
    condition: NotRequired[Condition]
    filters: NotRequired[List[V3WorkflowsWorkflowFiltersTypedDict]]


class V3WorkflowsWorkflowFilters(BaseModel):
    type: Optional[str] = None

    key: Optional[str] = None

    value: Optional[str] = None

    condition: Optional[Condition] = None

    filters: Optional[List[V3WorkflowsWorkflowFilters]] = None
