# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel
from .character_age import CharacterAge
from .character_gender import CharacterGender
from .character_role import CharacterRole


class CharacterMetadataResponseModel(UncheckedBaseModel):
    description: typing.Optional[str] = None
    sample_message: typing.Optional[str] = None
    voice_creation_prompt_suggestion: typing.Optional[str] = None
    gender: typing.Optional[CharacterGender] = None
    age: typing.Optional[CharacterAge] = None
    accent: typing.Optional[str] = None
    role: typing.Optional[CharacterRole] = None

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
