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

from __future__ import annotations
from enum import Enum
from novu_py.types import BaseModel
from typing_extensions import TypedDict


class Operator(str, Enum):
    LARGER = "LARGER"
    SMALLER = "SMALLER"
    LARGER_EQUAL = "LARGER_EQUAL"
    SMALLER_EQUAL = "SMALLER_EQUAL"
    EQUAL = "EQUAL"
    NOT_EQUAL = "NOT_EQUAL"
    ALL_IN = "ALL_IN"
    ANY_IN = "ANY_IN"
    NOT_IN = "NOT_IN"
    BETWEEN = "BETWEEN"
    NOT_BETWEEN = "NOT_BETWEEN"
    LIKE = "LIKE"
    NOT_LIKE = "NOT_LIKE"
    IN = "IN"


class On(str, Enum):
    SUBSCRIBER = "subscriber"
    PAYLOAD = "payload"


class FieldFilterPartDtoTypedDict(TypedDict):
    field: str
    value: str
    operator: Operator
    on: On


class FieldFilterPartDto(BaseModel):
    field: str

    value: str

    operator: Operator

    on: On
