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

from __future__ import annotations

from typing import List, Literal, Optional

from pydantic import Field

from wandb._pydantic import GQLResult, Typename

from .fragments import FileFragment, PageInfoFragment


class ArtifactCollectionMembershipFiles(GQLResult):
    project: Optional[ArtifactCollectionMembershipFilesProject]


class ArtifactCollectionMembershipFilesProject(GQLResult):
    artifact_collection: Optional[
        ArtifactCollectionMembershipFilesProjectArtifactCollection
    ] = Field(alias="artifactCollection")


class ArtifactCollectionMembershipFilesProjectArtifactCollection(GQLResult):
    typename__: Typename[
        Literal["ArtifactCollection", "ArtifactPortfolio", "ArtifactSequence"]
    ]
    artifact_membership: Optional[
        ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembership
    ] = Field(alias="artifactMembership")


class ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembership(
    GQLResult
):
    files: Optional[
        ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembershipFiles
    ]


class ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembershipFiles(
    GQLResult
):
    page_info: PageInfoFragment = Field(alias="pageInfo")
    edges: List[
        ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembershipFilesEdges
    ]


class ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembershipFilesEdges(
    GQLResult
):
    node: Optional[FileFragment]


ArtifactCollectionMembershipFiles.model_rebuild()
ArtifactCollectionMembershipFilesProject.model_rebuild()
ArtifactCollectionMembershipFilesProjectArtifactCollection.model_rebuild()
ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembership.model_rebuild()
ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembershipFiles.model_rebuild()
ArtifactCollectionMembershipFilesProjectArtifactCollectionArtifactMembershipFilesEdges.model_rebuild()
