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

from __future__ import annotations
import pydantic
from r9s.types import BaseModel
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class ModerationCategoryScoresTypedDict(TypedDict):
    hate: NotRequired[float]
    hate_threatening: NotRequired[float]
    harassment: NotRequired[float]
    harassment_threatening: NotRequired[float]
    self_harm: NotRequired[float]
    self_harm_intent: NotRequired[float]
    self_harm_instructions: NotRequired[float]
    sexual: NotRequired[float]
    sexual_minors: NotRequired[float]
    violence: NotRequired[float]
    violence_graphic: NotRequired[float]


class ModerationCategoryScores(BaseModel):
    hate: Optional[float] = None

    hate_threatening: Annotated[
        Optional[float], pydantic.Field(alias="hate/threatening")
    ] = None

    harassment: Optional[float] = None

    harassment_threatening: Annotated[
        Optional[float], pydantic.Field(alias="harassment/threatening")
    ] = None

    self_harm: Annotated[Optional[float], pydantic.Field(alias="self-harm")] = None

    self_harm_intent: Annotated[
        Optional[float], pydantic.Field(alias="self-harm/intent")
    ] = None

    self_harm_instructions: Annotated[
        Optional[float], pydantic.Field(alias="self-harm/instructions")
    ] = None

    sexual: Optional[float] = None

    sexual_minors: Annotated[Optional[float], pydantic.Field(alias="sexual/minors")] = (
        None
    )

    violence: Optional[float] = None

    violence_graphic: Annotated[
        Optional[float], pydantic.Field(alias="violence/graphic")
    ] = None
