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

from __future__ import annotations

from typing import List, Optional

from pydantic import Field
from typing_extensions import Literal

from wandb._pydantic import GQLResult, Typename

from .fragments import FileWithUrlFragment, PageInfoFragment


class GetArtifactMembershipFileUrls(GQLResult):
    project: Optional[GetArtifactMembershipFileUrlsProject]


class GetArtifactMembershipFileUrlsProject(GQLResult):
    artifact_collection: Optional[
        GetArtifactMembershipFileUrlsProjectArtifactCollection
    ] = Field(alias="artifactCollection")


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


class GetArtifactMembershipFileUrlsProjectArtifactCollectionArtifactMembership(
    GQLResult
):
    files: Optional[
        GetArtifactMembershipFileUrlsProjectArtifactCollectionArtifactMembershipFiles
    ]


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


class GetArtifactMembershipFileUrlsProjectArtifactCollectionArtifactMembershipFilesEdges(
    GQLResult
):
    node: Optional[FileWithUrlFragment]


GetArtifactMembershipFileUrls.model_rebuild()
GetArtifactMembershipFileUrlsProject.model_rebuild()
GetArtifactMembershipFileUrlsProjectArtifactCollection.model_rebuild()
GetArtifactMembershipFileUrlsProjectArtifactCollectionArtifactMembership.model_rebuild()
GetArtifactMembershipFileUrlsProjectArtifactCollectionArtifactMembershipFiles.model_rebuild()
GetArtifactMembershipFileUrlsProjectArtifactCollectionArtifactMembershipFilesEdges.model_rebuild()
