# Generated by ariadne-codegen
# Source: ./documents

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import (
    CalendarAttendeeResponseStatus,
    CalendarEventStatus,
    CalendarEventVisibility,
    CalendarRecurrencePattern,
    CalendarReminderMethod,
    ContentTypes,
    EntityState,
    FileTypes,
    ImageProjectionTypes,
    LinkTypes,
    MailImportance,
    MailPriority,
    MailSensitivity,
    ObservableTypes,
    OccurrenceTypes,
    OrientationTypes,
    TextRoles,
)


class LookupContents(BaseModel):
    lookup_contents: Optional["LookupContentsLookupContents"] = Field(
        alias="lookupContents"
    )


class LookupContentsLookupContents(BaseModel):
    results: Optional[List[Optional["LookupContentsLookupContentsResults"]]]


class LookupContentsLookupContentsResults(BaseModel):
    id: str
    name: str
    creation_date: Any = Field(alias="creationDate")
    modified_date: Optional[Any] = Field(alias="modifiedDate")
    owner: "LookupContentsLookupContentsResultsOwner"
    state: EntityState
    original_date: Optional[Any] = Field(alias="originalDate")
    finished_date: Optional[Any] = Field(alias="finishedDate")
    file_creation_date: Optional[Any] = Field(alias="fileCreationDate")
    file_modified_date: Optional[Any] = Field(alias="fileModifiedDate")
    workflow_duration: Optional[Any] = Field(alias="workflowDuration")
    uri: Optional[Any]
    description: Optional[str]
    identifier: Optional[str]
    markdown: Optional[str]
    html: Optional[str]
    address: Optional["LookupContentsLookupContentsResultsAddress"]
    location: Optional["LookupContentsLookupContentsResultsLocation"]
    h_3: Optional["LookupContentsLookupContentsResultsH3"] = Field(alias="h3")
    boundary: Optional[str]
    epsg_code: Optional[int] = Field(alias="epsgCode")
    path: Optional[str]
    features: Optional[str]
    c_4_id: Optional[str] = Field(alias="c4id")
    type: Optional[ContentTypes]
    file_type: Optional[FileTypes] = Field(alias="fileType")
    mime_type: Optional[str] = Field(alias="mimeType")
    format: Optional[str]
    format_name: Optional[str] = Field(alias="formatName")
    file_extension: Optional[str] = Field(alias="fileExtension")
    file_name: Optional[str] = Field(alias="fileName")
    file_size: Optional[Any] = Field(alias="fileSize")
    file_metadata: Optional[str] = Field(alias="fileMetadata")
    relative_folder_path: Optional[str] = Field(alias="relativeFolderPath")
    master_uri: Optional[Any] = Field(alias="masterUri")
    image_uri: Optional[Any] = Field(alias="imageUri")
    text_uri: Optional[Any] = Field(alias="textUri")
    audio_uri: Optional[Any] = Field(alias="audioUri")
    transcript_uri: Optional[Any] = Field(alias="transcriptUri")
    snapshots_uri: Optional[Any] = Field(alias="snapshotsUri")
    snapshot_count: Optional[int] = Field(alias="snapshotCount")
    summary: Optional[str]
    custom_summary: Optional[str] = Field(alias="customSummary")
    keywords: Optional[List[str]]
    bullets: Optional[List[str]]
    headlines: Optional[List[str]]
    posts: Optional[List[str]]
    chapters: Optional[List[str]]
    questions: Optional[List[str]]
    quotes: Optional[List[str]]
    video: Optional["LookupContentsLookupContentsResultsVideo"]
    audio: Optional["LookupContentsLookupContentsResultsAudio"]
    image: Optional["LookupContentsLookupContentsResultsImage"]
    document: Optional["LookupContentsLookupContentsResultsDocument"]
    email: Optional["LookupContentsLookupContentsResultsEmail"]
    event: Optional["LookupContentsLookupContentsResultsEvent"]
    issue: Optional["LookupContentsLookupContentsResultsIssue"]
    commit: Optional["LookupContentsLookupContentsResultsCommit"]
    pull_request: Optional["LookupContentsLookupContentsResultsPullRequest"] = Field(
        alias="pullRequest"
    )
    message: Optional["LookupContentsLookupContentsResultsMessage"]
    post: Optional["LookupContentsLookupContentsResultsPost"]
    package: Optional["LookupContentsLookupContentsResultsPackage"]
    language: Optional["LookupContentsLookupContentsResultsLanguage"]
    parent: Optional["LookupContentsLookupContentsResultsParent"]
    children: Optional[List[Optional["LookupContentsLookupContentsResultsChildren"]]]
    feed: Optional["LookupContentsLookupContentsResultsFeed"]
    collections: Optional[
        List[Optional["LookupContentsLookupContentsResultsCollections"]]
    ]
    links: Optional[List["LookupContentsLookupContentsResultsLinks"]]
    observations: Optional[
        List[Optional["LookupContentsLookupContentsResultsObservations"]]
    ]
    workflow: Optional["LookupContentsLookupContentsResultsWorkflow"]
    pages: Optional[List["LookupContentsLookupContentsResultsPages"]]
    segments: Optional[List["LookupContentsLookupContentsResultsSegments"]]
    frames: Optional[List["LookupContentsLookupContentsResultsFrames"]]
    error: Optional[str]


class LookupContentsLookupContentsResultsOwner(BaseModel):
    id: str


class LookupContentsLookupContentsResultsAddress(BaseModel):
    street_address: Optional[str] = Field(alias="streetAddress")
    city: Optional[str]
    region: Optional[str]
    country: Optional[str]
    postal_code: Optional[str] = Field(alias="postalCode")


class LookupContentsLookupContentsResultsLocation(BaseModel):
    latitude: Optional[float]
    longitude: Optional[float]


class LookupContentsLookupContentsResultsH3(BaseModel):
    h_3_r_0: Optional[str] = Field(alias="h3r0")
    h_3_r_1: Optional[str] = Field(alias="h3r1")
    h_3_r_2: Optional[str] = Field(alias="h3r2")
    h_3_r_3: Optional[str] = Field(alias="h3r3")
    h_3_r_4: Optional[str] = Field(alias="h3r4")
    h_3_r_5: Optional[str] = Field(alias="h3r5")
    h_3_r_6: Optional[str] = Field(alias="h3r6")
    h_3_r_7: Optional[str] = Field(alias="h3r7")
    h_3_r_8: Optional[str] = Field(alias="h3r8")
    h_3_r_9: Optional[str] = Field(alias="h3r9")
    h_3_r_10: Optional[str] = Field(alias="h3r10")
    h_3_r_11: Optional[str] = Field(alias="h3r11")
    h_3_r_12: Optional[str] = Field(alias="h3r12")
    h_3_r_13: Optional[str] = Field(alias="h3r13")
    h_3_r_14: Optional[str] = Field(alias="h3r14")
    h_3_r_15: Optional[str] = Field(alias="h3r15")


class LookupContentsLookupContentsResultsVideo(BaseModel):
    width: Optional[int]
    height: Optional[int]
    duration: Optional[Any]
    make: Optional[str]
    model: Optional[str]
    software: Optional[str]
    title: Optional[str]
    description: Optional[str]
    keywords: Optional[List[Optional[str]]]
    author: Optional[str]


class LookupContentsLookupContentsResultsAudio(BaseModel):
    keywords: Optional[List[Optional[str]]]
    author: Optional[str]
    series: Optional[str]
    episode: Optional[str]
    episode_type: Optional[str] = Field(alias="episodeType")
    season: Optional[str]
    publisher: Optional[str]
    copyright: Optional[str]
    genre: Optional[str]
    title: Optional[str]
    description: Optional[str]
    bitrate: Optional[int]
    channels: Optional[int]
    sample_rate: Optional[int] = Field(alias="sampleRate")
    bits_per_sample: Optional[int] = Field(alias="bitsPerSample")
    duration: Optional[Any]


class LookupContentsLookupContentsResultsImage(BaseModel):
    width: Optional[int]
    height: Optional[int]
    resolution_x: Optional[int] = Field(alias="resolutionX")
    resolution_y: Optional[int] = Field(alias="resolutionY")
    bits_per_component: Optional[int] = Field(alias="bitsPerComponent")
    components: Optional[int]
    projection_type: Optional[ImageProjectionTypes] = Field(alias="projectionType")
    orientation: Optional[OrientationTypes]
    description: Optional[str]
    make: Optional[str]
    model: Optional[str]
    software: Optional[str]
    lens: Optional[str]
    focal_length: Optional[float] = Field(alias="focalLength")
    exposure_time: Optional[str] = Field(alias="exposureTime")
    f_number: Optional[str] = Field(alias="fNumber")
    iso: Optional[str]
    heading: Optional[float]
    pitch: Optional[float]


class LookupContentsLookupContentsResultsDocument(BaseModel):
    title: Optional[str]
    subject: Optional[str]
    summary: Optional[str]
    author: Optional[str]
    last_modified_by: Optional[str] = Field(alias="lastModifiedBy")
    publisher: Optional[str]
    description: Optional[str]
    keywords: Optional[List[Optional[str]]]
    page_count: Optional[int] = Field(alias="pageCount")
    worksheet_count: Optional[int] = Field(alias="worksheetCount")
    slide_count: Optional[int] = Field(alias="slideCount")
    word_count: Optional[int] = Field(alias="wordCount")
    line_count: Optional[int] = Field(alias="lineCount")
    paragraph_count: Optional[int] = Field(alias="paragraphCount")
    is_encrypted: Optional[bool] = Field(alias="isEncrypted")
    has_digital_signature: Optional[bool] = Field(alias="hasDigitalSignature")


class LookupContentsLookupContentsResultsEmail(BaseModel):
    identifier: Optional[str]
    thread_identifier: Optional[str] = Field(alias="threadIdentifier")
    subject: Optional[str]
    labels: Optional[List[Optional[str]]]
    sensitivity: Optional[MailSensitivity]
    priority: Optional[MailPriority]
    importance: Optional[MailImportance]
    unsubscribe_url: Optional[str] = Field(alias="unsubscribeUrl")
    publication_name: Optional[str] = Field(alias="publicationName")
    publication_url: Optional[str] = Field(alias="publicationUrl")
    attachment_count: Optional[int] = Field(alias="attachmentCount")
    from_: Optional[List[Optional["LookupContentsLookupContentsResultsEmailFrom"]]] = (
        Field(alias="from")
    )
    to: Optional[List[Optional["LookupContentsLookupContentsResultsEmailTo"]]]
    cc: Optional[List[Optional["LookupContentsLookupContentsResultsEmailCc"]]]
    bcc: Optional[List[Optional["LookupContentsLookupContentsResultsEmailBcc"]]]


class LookupContentsLookupContentsResultsEmailFrom(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsEmailTo(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsEmailCc(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsEmailBcc(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsEvent(BaseModel):
    event_identifier: Optional[str] = Field(alias="eventIdentifier")
    calendar_identifier: Optional[str] = Field(alias="calendarIdentifier")
    subject: Optional[str]
    start_date_time: Optional[Any] = Field(alias="startDateTime")
    end_date_time: Optional[Any] = Field(alias="endDateTime")
    is_all_day: Optional[bool] = Field(alias="isAllDay")
    timezone: Optional[str]
    status: Optional[CalendarEventStatus]
    visibility: Optional[CalendarEventVisibility]
    meeting_link: Optional[str] = Field(alias="meetingLink")
    organizer: Optional["LookupContentsLookupContentsResultsEventOrganizer"]
    attendees: Optional[
        List[Optional["LookupContentsLookupContentsResultsEventAttendees"]]
    ]
    categories: Optional[List[Optional[str]]]
    reminders: Optional[
        List[Optional["LookupContentsLookupContentsResultsEventReminders"]]
    ]
    recurrence: Optional["LookupContentsLookupContentsResultsEventRecurrence"]
    recurring_event_identifier: Optional[str] = Field(alias="recurringEventIdentifier")
    is_recurring: Optional[bool] = Field(alias="isRecurring")


class LookupContentsLookupContentsResultsEventOrganizer(BaseModel):
    name: Optional[str]
    email: Optional[str]
    is_optional: Optional[bool] = Field(alias="isOptional")
    is_organizer: Optional[bool] = Field(alias="isOrganizer")
    response_status: Optional[CalendarAttendeeResponseStatus] = Field(
        alias="responseStatus"
    )


class LookupContentsLookupContentsResultsEventAttendees(BaseModel):
    name: Optional[str]
    email: Optional[str]
    is_optional: Optional[bool] = Field(alias="isOptional")
    is_organizer: Optional[bool] = Field(alias="isOrganizer")
    response_status: Optional[CalendarAttendeeResponseStatus] = Field(
        alias="responseStatus"
    )


class LookupContentsLookupContentsResultsEventReminders(BaseModel):
    minutes_before: Optional[int] = Field(alias="minutesBefore")
    method: Optional[CalendarReminderMethod]


class LookupContentsLookupContentsResultsEventRecurrence(BaseModel):
    pattern: Optional[CalendarRecurrencePattern]
    interval: Optional[int]
    count: Optional[int]
    until: Optional[Any]
    days_of_week: Optional[List[Optional[str]]] = Field(alias="daysOfWeek")
    day_of_month: Optional[int] = Field(alias="dayOfMonth")
    month_of_year: Optional[int] = Field(alias="monthOfYear")


class LookupContentsLookupContentsResultsIssue(BaseModel):
    identifier: Optional[str]
    title: Optional[str]
    project: Optional[str]
    team: Optional[str]
    status: Optional[str]
    priority: Optional[str]
    type: Optional[str]
    labels: Optional[List[Optional[str]]]


class LookupContentsLookupContentsResultsCommit(BaseModel):
    sha: Optional[str]
    message: Optional[str]
    project: Optional[str]
    team: Optional[str]
    branch: Optional[str]
    parent_shas: Optional[List[Optional[str]]] = Field(alias="parentShas")
    files_changed: Optional[int] = Field(alias="filesChanged")
    additions: Optional[int]
    deletions: Optional[int]
    pull_request_number: Optional[str] = Field(alias="pullRequestNumber")
    author_date: Optional[Any] = Field(alias="authorDate")
    committer_date: Optional[Any] = Field(alias="committerDate")
    authors: Optional[
        List[Optional["LookupContentsLookupContentsResultsCommitAuthors"]]
    ]
    committers: Optional[
        List[Optional["LookupContentsLookupContentsResultsCommitCommitters"]]
    ]
    labels: Optional[List[Optional[str]]]
    links: Optional[List[Optional[Any]]]


class LookupContentsLookupContentsResultsCommitAuthors(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsCommitCommitters(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsPullRequest(BaseModel):
    identifier: Optional[str]
    title: Optional[str]
    description: Optional[str]
    project: Optional[str]
    team: Optional[str]
    status: Optional[str]
    type: Optional[str]
    base_branch: Optional[str] = Field(alias="baseBranch")
    head_branch: Optional[str] = Field(alias="headBranch")
    is_draft: Optional[bool] = Field(alias="isDraft")
    is_mergeable: Optional[bool] = Field(alias="isMergeable")
    merge_commit_sha: Optional[str] = Field(alias="mergeCommitSha")
    merged_at: Optional[Any] = Field(alias="mergedAt")
    files_changed: Optional[int] = Field(alias="filesChanged")
    additions: Optional[int]
    deletions: Optional[int]
    authors: Optional[
        List[Optional["LookupContentsLookupContentsResultsPullRequestAuthors"]]
    ]
    reviewers: Optional[
        List[Optional["LookupContentsLookupContentsResultsPullRequestReviewers"]]
    ]
    labels: Optional[List[Optional[str]]]
    links: Optional[List[Optional[Any]]]


class LookupContentsLookupContentsResultsPullRequestAuthors(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsPullRequestReviewers(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsMessage(BaseModel):
    identifier: Optional[str]
    conversation_identifier: Optional[str] = Field(alias="conversationIdentifier")
    channel_identifier: Optional[str] = Field(alias="channelIdentifier")
    channel_name: Optional[str] = Field(alias="channelName")
    attachment_count: Optional[int] = Field(alias="attachmentCount")
    links: Optional[List[Optional[Any]]]
    author: Optional["LookupContentsLookupContentsResultsMessageAuthor"]
    mentions: Optional[
        List[Optional["LookupContentsLookupContentsResultsMessageMentions"]]
    ]


class LookupContentsLookupContentsResultsMessageAuthor(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsMessageMentions(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsPost(BaseModel):
    identifier: Optional[str]
    title: Optional[str]
    author: Optional["LookupContentsLookupContentsResultsPostAuthor"]
    upvotes: Optional[int]
    downvotes: Optional[int]
    comment_count: Optional[int] = Field(alias="commentCount")
    links: Optional[List[Optional[Any]]]


class LookupContentsLookupContentsResultsPostAuthor(BaseModel):
    name: Optional[str]
    email: Optional[str]
    given_name: Optional[str] = Field(alias="givenName")
    family_name: Optional[str] = Field(alias="familyName")


class LookupContentsLookupContentsResultsPackage(BaseModel):
    file_count: Optional[int] = Field(alias="fileCount")
    folder_count: Optional[int] = Field(alias="folderCount")
    is_encrypted: Optional[bool] = Field(alias="isEncrypted")


class LookupContentsLookupContentsResultsLanguage(BaseModel):
    languages: Optional[List[Optional[str]]]


class LookupContentsLookupContentsResultsParent(BaseModel):
    id: str
    name: str


class LookupContentsLookupContentsResultsChildren(BaseModel):
    id: str
    name: str


class LookupContentsLookupContentsResultsFeed(BaseModel):
    id: str
    name: str


class LookupContentsLookupContentsResultsCollections(BaseModel):
    id: str
    name: str


class LookupContentsLookupContentsResultsLinks(BaseModel):
    uri: Optional[Any]
    link_type: Optional[LinkTypes] = Field(alias="linkType")
    excerpts: Optional[str]


class LookupContentsLookupContentsResultsObservations(BaseModel):
    id: str
    type: ObservableTypes
    observable: "LookupContentsLookupContentsResultsObservationsObservable"
    related: Optional["LookupContentsLookupContentsResultsObservationsRelated"]
    related_type: Optional[ObservableTypes] = Field(alias="relatedType")
    relation: Optional[str]
    occurrences: Optional[
        List[Optional["LookupContentsLookupContentsResultsObservationsOccurrences"]]
    ]
    state: EntityState


class LookupContentsLookupContentsResultsObservationsObservable(BaseModel):
    id: str
    name: Optional[str]


class LookupContentsLookupContentsResultsObservationsRelated(BaseModel):
    id: str
    name: Optional[str]


class LookupContentsLookupContentsResultsObservationsOccurrences(BaseModel):
    type: Optional[OccurrenceTypes]
    confidence: Optional[float]
    start_time: Optional[Any] = Field(alias="startTime")
    end_time: Optional[Any] = Field(alias="endTime")
    page_index: Optional[int] = Field(alias="pageIndex")
    bounding_box: Optional[
        "LookupContentsLookupContentsResultsObservationsOccurrencesBoundingBox"
    ] = Field(alias="boundingBox")


class LookupContentsLookupContentsResultsObservationsOccurrencesBoundingBox(BaseModel):
    left: Optional[float]
    top: Optional[float]
    width: Optional[float]
    height: Optional[float]


class LookupContentsLookupContentsResultsWorkflow(BaseModel):
    id: str
    name: str


class LookupContentsLookupContentsResultsPages(BaseModel):
    index: Optional[int]
    text: Optional[str]
    relevance: Optional[float]
    images: Optional[List[Optional["LookupContentsLookupContentsResultsPagesImages"]]]
    chunks: Optional[List[Optional["LookupContentsLookupContentsResultsPagesChunks"]]]


class LookupContentsLookupContentsResultsPagesImages(BaseModel):
    id: Optional[str]
    mime_type: Optional[str] = Field(alias="mimeType")
    data: Optional[str]
    left: Optional[int]
    right: Optional[int]
    top: Optional[int]
    bottom: Optional[int]


class LookupContentsLookupContentsResultsPagesChunks(BaseModel):
    index: Optional[int]
    page_index: Optional[int] = Field(alias="pageIndex")
    row_index: Optional[int] = Field(alias="rowIndex")
    column_index: Optional[int] = Field(alias="columnIndex")
    confidence: Optional[float]
    text: Optional[str]
    role: Optional[TextRoles]
    language: Optional[str]
    relevance: Optional[float]


class LookupContentsLookupContentsResultsSegments(BaseModel):
    start_time: Optional[Any] = Field(alias="startTime")
    end_time: Optional[Any] = Field(alias="endTime")
    text: Optional[str]
    relevance: Optional[float]


class LookupContentsLookupContentsResultsFrames(BaseModel):
    index: Optional[int]
    description: Optional[str]
    text: Optional[str]
    relevance: Optional[float]


LookupContents.model_rebuild()
LookupContentsLookupContents.model_rebuild()
LookupContentsLookupContentsResults.model_rebuild()
LookupContentsLookupContentsResultsEmail.model_rebuild()
LookupContentsLookupContentsResultsEvent.model_rebuild()
LookupContentsLookupContentsResultsCommit.model_rebuild()
LookupContentsLookupContentsResultsPullRequest.model_rebuild()
LookupContentsLookupContentsResultsMessage.model_rebuild()
LookupContentsLookupContentsResultsPost.model_rebuild()
LookupContentsLookupContentsResultsObservations.model_rebuild()
LookupContentsLookupContentsResultsObservationsOccurrences.model_rebuild()
LookupContentsLookupContentsResultsPages.model_rebuild()
