# Generated by ariadne-codegen
# Source: ./documents

from typing import Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import EntityOwners, EntityState


class PublishSkills(BaseModel):
    publish_skills: Optional["PublishSkillsPublishSkills"] = Field(
        alias="publishSkills"
    )


class PublishSkillsPublishSkills(BaseModel):
    skills: Optional[list["PublishSkillsPublishSkillsSkills"]]


class PublishSkillsPublishSkillsSkills(BaseModel):
    id: str
    name: str
    state: EntityState
    identifier: Optional[str]
    skill_owner: Optional[EntityOwners] = Field(alias="skillOwner")
    arguments: Optional[list["PublishSkillsPublishSkillsSkillsArguments"]]
    text: str


class PublishSkillsPublishSkillsSkillsArguments(BaseModel):
    name: str
    description: Optional[str]
    required: Optional[bool]


PublishSkills.model_rebuild()
PublishSkillsPublishSkills.model_rebuild()
PublishSkillsPublishSkillsSkills.model_rebuild()
