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

from __future__ import annotations
from r9s.types import BaseModel
from typing import List, Optional, Union
from typing_extensions import NotRequired, TypeAliasType, TypedDict


ModerationRequestInputTypedDict = TypeAliasType(
    "ModerationRequestInputTypedDict", Union[str, List[str]]
)
r"""Input text to moderate"""


ModerationRequestInput = TypeAliasType("ModerationRequestInput", Union[str, List[str]])
r"""Input text to moderate"""


class ModerationRequestTypedDict(TypedDict):
    input: ModerationRequestInputTypedDict
    r"""Input text to moderate"""
    model: NotRequired[str]
    r"""Model name"""


class ModerationRequest(BaseModel):
    input: ModerationRequestInput
    r"""Input text to moderate"""

    model: Optional[str] = "gpt-4o-mini"
    r"""Model name"""
