# Generated by ariadne-codegen
# Source: tools/graphql_codegen/artifacts/

from __future__ import annotations

from typing import List, Optional

from pydantic import Field

from wandb._pydantic import GQLBase

from .fragments import ArtifactFragment


class RunInputArtifacts(GQLBase):
    project: Optional[RunInputArtifactsProject]


class RunInputArtifactsProject(GQLBase):
    run: Optional[RunInputArtifactsProjectRun]


class RunInputArtifactsProjectRun(GQLBase):
    input_artifacts: Optional[RunInputArtifactsProjectRunInputArtifacts] = Field(
        alias="inputArtifacts"
    )


class RunInputArtifactsProjectRunInputArtifacts(GQLBase):
    total_count: int = Field(alias="totalCount")
    edges: List[RunInputArtifactsProjectRunInputArtifactsEdges]
    page_info: RunInputArtifactsProjectRunInputArtifactsPageInfo = Field(
        alias="pageInfo"
    )


class RunInputArtifactsProjectRunInputArtifactsEdges(GQLBase):
    node: Optional[ArtifactFragment]
    cursor: str


class RunInputArtifactsProjectRunInputArtifactsPageInfo(GQLBase):
    end_cursor: Optional[str] = Field(alias="endCursor")
    has_next_page: bool = Field(alias="hasNextPage")


RunInputArtifacts.model_rebuild()
RunInputArtifactsProject.model_rebuild()
RunInputArtifactsProjectRun.model_rebuild()
RunInputArtifactsProjectRunInputArtifacts.model_rebuild()
RunInputArtifactsProjectRunInputArtifactsEdges.model_rebuild()
