# Generated by ariadne-codegen
# Source: queries.graphql

from typing import Literal, Union

from pydantic import Field

from .base_model import BaseModel
from .fragments import InvalidInputSelection, OperationErrorSelection, UserSelection


class UsersCreate(BaseModel):
    admin: "UsersCreateAdmin"


class UsersCreateAdmin(BaseModel):
    user: "UsersCreateAdminUser"


class UsersCreateAdminUser(BaseModel):
    create: Union[
        "UsersCreateAdminUserCreateUser",
        "UsersCreateAdminUserCreateInvalidInput",
        "UsersCreateAdminUserCreateOperationError",
    ] = Field(discriminator="typename__")


class UsersCreateAdminUserCreateUser(UserSelection):
    typename__: Literal["User"] = Field(alias="__typename")


class UsersCreateAdminUserCreateInvalidInput(InvalidInputSelection):
    typename__: Literal["InvalidInput"] = Field(alias="__typename")


class UsersCreateAdminUserCreateOperationError(OperationErrorSelection):
    typename__: Literal["OperationError"] = Field(alias="__typename")


UsersCreate.model_rebuild()
UsersCreateAdmin.model_rebuild()
UsersCreateAdminUser.model_rebuild()
