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

from typing import Literal, Optional, Union

from pydantic import Field

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


class UsersDelete(BaseModel):
    admin: "UsersDeleteAdmin"


class UsersDeleteAdmin(BaseModel):
    user: "UsersDeleteAdminUser"


class UsersDeleteAdminUser(BaseModel):
    mutate: Optional["UsersDeleteAdminUserMutate"]


class UsersDeleteAdminUserMutate(BaseModel):
    delete: Union[
        "UsersDeleteAdminUserMutateDeleteOk",
        "UsersDeleteAdminUserMutateDeleteInvalidInput",
        "UsersDeleteAdminUserMutateDeleteOperationError",
    ] = Field(discriminator="typename__")


class UsersDeleteAdminUserMutateDeleteOk(BaseModel):
    typename__: Literal["Ok"] = Field(alias="__typename")


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


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


UsersDelete.model_rebuild()
UsersDeleteAdmin.model_rebuild()
UsersDeleteAdminUser.model_rebuild()
UsersDeleteAdminUserMutate.model_rebuild()
