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

from typing import Any, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import (
    AsanaAuthenticationTypes,
    AttioAuthenticationTypes,
    AttioFeedAuthenticationTypes,
    AttioIssueAuthenticationTypes,
    AttioMeetingAuthenticationTypes,
    BambooHRAuthenticationTypes,
    BlobListingTypes,
    BoxAuthenticationTypes,
    CalendarListingTypes,
    ConfluenceAuthenticationTypes,
    ConfluenceTypes,
    CrustdataWatcherSignalTypes,
    DropboxAuthenticationTypes,
    EmailListingTypes,
    EntityState,
    ExaSearchTypes,
    FeedListingTypes,
    FeedServiceTypes,
    FeedSyncMode,
    FeedTypes,
    GitHubAuthenticationTypes,
    GitHubCommitAuthenticationTypes,
    GitHubPullRequestAuthenticationTypes,
    GoogleCalendarAuthenticationTypes,
    GoogleContactsAuthenticationTypes,
    GoogleDriveAuthenticationTypes,
    GoogleEmailAuthenticationTypes,
    GustoAuthenticationTypes,
    HubSpotAuthenticationTypes,
    HubSpotFeedAuthenticationTypes,
    HubSpotIssueAuthenticationTypes,
    IntercomAuthenticationTypes,
    IntercomConversationsAuthenticationTypes,
    IntercomIssueAuthenticationTypes,
    JiraAuthenticationTypes,
    LinearAuthenticationTypes,
    LinkedInPostContentTypes,
    LinkedInPostListingTypes,
    MeetingContentTypes,
    MicrosoftCalendarAuthenticationTypes,
    MicrosoftContactsAuthenticationTypes,
    MicrosoftEmailAuthenticationTypes,
    MicrosoftTeamsAuthenticationTypes,
    NotionAuthenticationTypes,
    NotionTypes,
    OneDriveAuthenticationTypes,
    ParallelGenerators,
    ParallelProcessors,
    SalesforceAuthenticationTypes,
    SalesforceFeedAuthenticationTypes,
    SalesforceIssueAuthenticationTypes,
    SearchServiceTypes,
    SharePointAuthenticationTypes,
    SiteTypes,
    SlackAuthenticationTypes,
    TimedPolicyRecurrenceTypes,
    TrelloTypes,
    TwitterAuthenticationTypes,
    TwitterListingTypes,
    YouTubeTypes,
    ZendeskAuthenticationTypes,
    ZendeskIssueAuthenticationTypes,
)


class QueryFeeds(BaseModel):
    feeds: Optional["QueryFeedsFeeds"]


class QueryFeedsFeeds(BaseModel):
    results: Optional[list["QueryFeedsFeedsResults"]]


class QueryFeedsFeedsResults(BaseModel):
    id: str
    name: str
    creation_date: Any = Field(alias="creationDate")
    modified_date: Optional[Any] = Field(alias="modifiedDate")
    relevance: Optional[float]
    owner: "QueryFeedsFeedsResultsOwner"
    state: EntityState
    identifier: Optional[str]
    description: Optional[str]
    correlation_id: Optional[str] = Field(alias="correlationId")
    type: FeedTypes
    sync_mode: Optional[FeedSyncMode] = Field(alias="syncMode")
    site: Optional["QueryFeedsFeedsResultsSite"]
    email: Optional["QueryFeedsFeedsResultsEmail"]
    issue: Optional["QueryFeedsFeedsResultsIssue"]
    initiative: Optional["QueryFeedsFeedsResultsInitiative"]
    commit: Optional["QueryFeedsFeedsResultsCommit"]
    pull_request: Optional["QueryFeedsFeedsResultsPullRequest"] = Field(
        alias="pullRequest"
    )
    crm: Optional["QueryFeedsFeedsResultsCrm"]
    hris: Optional["QueryFeedsFeedsResultsHris"]
    calendar: Optional["QueryFeedsFeedsResultsCalendar"]
    meeting: Optional["QueryFeedsFeedsResultsMeeting"]
    rss: Optional["QueryFeedsFeedsResultsRss"]
    web: Optional["QueryFeedsFeedsResultsWeb"]
    search: Optional["QueryFeedsFeedsResultsSearch"]
    reddit: Optional["QueryFeedsFeedsResultsReddit"]
    linked_in: Optional["QueryFeedsFeedsResultsLinkedIn"] = Field(alias="linkedIn")
    notion: Optional["QueryFeedsFeedsResultsNotion"]
    confluence: Optional["QueryFeedsFeedsResultsConfluence"]
    intercom: Optional["QueryFeedsFeedsResultsIntercom"]
    zendesk: Optional["QueryFeedsFeedsResultsZendesk"]
    youtube: Optional["QueryFeedsFeedsResultsYoutube"]
    twitter: Optional["QueryFeedsFeedsResultsTwitter"]
    slack: Optional["QueryFeedsFeedsResultsSlack"]
    microsoft_teams: Optional["QueryFeedsFeedsResultsMicrosoftTeams"] = Field(
        alias="microsoftTeams"
    )
    discord: Optional["QueryFeedsFeedsResultsDiscord"]
    attio: Optional["QueryFeedsFeedsResultsAttio"]
    salesforce: Optional["QueryFeedsFeedsResultsSalesforce"]
    hub_spot_conversations: Optional["QueryFeedsFeedsResultsHubSpotConversations"] = (
        Field(alias="hubSpotConversations")
    )
    intercom_conversations: Optional["QueryFeedsFeedsResultsIntercomConversations"] = (
        Field(alias="intercomConversations")
    )
    productlane: Optional["QueryFeedsFeedsResultsProductlane"]
    research: Optional["QueryFeedsFeedsResultsResearch"]
    entity: Optional["QueryFeedsFeedsResultsEntity"]
    error: Optional[str]
    last_post_date: Optional[Any] = Field(alias="lastPostDate")
    last_read_date: Optional[Any] = Field(alias="lastReadDate")
    read_count: Optional[int] = Field(alias="readCount")
    workflow: Optional["QueryFeedsFeedsResultsWorkflow"]
    schedule_policy: Optional["QueryFeedsFeedsResultsSchedulePolicy"] = Field(
        alias="schedulePolicy"
    )


class QueryFeedsFeedsResultsOwner(BaseModel):
    id: str


class QueryFeedsFeedsResultsSite(BaseModel):
    site_type: SiteTypes = Field(alias="siteType")
    type: FeedServiceTypes
    is_recursive: Optional[bool] = Field(alias="isRecursive")
    allowed_paths: Optional[list[str]] = Field(alias="allowedPaths")
    excluded_paths: Optional[list[str]] = Field(alias="excludedPaths")
    s_3: Optional["QueryFeedsFeedsResultsSiteS3"] = Field(alias="s3")
    azure_blob: Optional["QueryFeedsFeedsResultsSiteAzureBlob"] = Field(
        alias="azureBlob"
    )
    azure_file: Optional["QueryFeedsFeedsResultsSiteAzureFile"] = Field(
        alias="azureFile"
    )
    google: Optional["QueryFeedsFeedsResultsSiteGoogle"]
    share_point: Optional["QueryFeedsFeedsResultsSiteSharePoint"] = Field(
        alias="sharePoint"
    )
    one_drive: Optional["QueryFeedsFeedsResultsSiteOneDrive"] = Field(alias="oneDrive")
    google_drive: Optional["QueryFeedsFeedsResultsSiteGoogleDrive"] = Field(
        alias="googleDrive"
    )
    dropbox: Optional["QueryFeedsFeedsResultsSiteDropbox"]
    box: Optional["QueryFeedsFeedsResultsSiteBox"]
    github: Optional["QueryFeedsFeedsResultsSiteGithub"]
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsSiteS3(BaseModel):
    access_key: Optional[str] = Field(alias="accessKey")
    secret_access_key: Optional[str] = Field(alias="secretAccessKey")
    bucket_name: Optional[str] = Field(alias="bucketName")
    prefix: Optional[str]
    region: Optional[str]
    custom_endpoint: Optional[str] = Field(alias="customEndpoint")


class QueryFeedsFeedsResultsSiteAzureBlob(BaseModel):
    storage_access_key: Optional[str] = Field(alias="storageAccessKey")
    account_name: Optional[str] = Field(alias="accountName")
    container_name: Optional[str] = Field(alias="containerName")
    prefix: Optional[str]
    list_type: Optional[BlobListingTypes] = Field(alias="listType")


class QueryFeedsFeedsResultsSiteAzureFile(BaseModel):
    storage_access_key: Optional[str] = Field(alias="storageAccessKey")
    account_name: Optional[str] = Field(alias="accountName")
    share_name: Optional[str] = Field(alias="shareName")
    prefix: Optional[str]


class QueryFeedsFeedsResultsSiteGoogle(BaseModel):
    credentials: Optional[str]
    container_name: Optional[str] = Field(alias="containerName")
    prefix: Optional[str]


class QueryFeedsFeedsResultsSiteSharePoint(BaseModel):
    authentication_type: Optional[SharePointAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    account_name: str = Field(alias="accountName")
    library_id: str = Field(alias="libraryId")
    folder_id: Optional[str] = Field(alias="folderId")
    tenant_id: Optional[str] = Field(alias="tenantId")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsSiteSharePointConnector"]


class QueryFeedsFeedsResultsSiteSharePointConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSiteOneDrive(BaseModel):
    authentication_type: Optional[OneDriveAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    folder_id: Optional[str] = Field(alias="folderId")
    files: Optional[list[Optional[str]]]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsSiteOneDriveConnector"]


class QueryFeedsFeedsResultsSiteOneDriveConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSiteGoogleDrive(BaseModel):
    authentication_type: Optional[GoogleDriveAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    drive_id: Optional[str] = Field(alias="driveId")
    folder_id: Optional[str] = Field(alias="folderId")
    files: Optional[list[Optional[str]]]
    refresh_token: Optional[str] = Field(alias="refreshToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    service_account_json: Optional[str] = Field(alias="serviceAccountJson")
    connector: Optional["QueryFeedsFeedsResultsSiteGoogleDriveConnector"]


class QueryFeedsFeedsResultsSiteGoogleDriveConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSiteDropbox(BaseModel):
    authentication_type: Optional[DropboxAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    path: Optional[str]
    app_key: Optional[str] = Field(alias="appKey")
    app_secret: Optional[str] = Field(alias="appSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsSiteDropboxConnector"]


class QueryFeedsFeedsResultsSiteDropboxConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSiteBox(BaseModel):
    authentication_type: Optional[BoxAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    folder_id: Optional[str] = Field(alias="folderId")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    redirect_uri: Optional[str] = Field(alias="redirectUri")
    connector: Optional["QueryFeedsFeedsResultsSiteBoxConnector"]


class QueryFeedsFeedsResultsSiteBoxConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSiteGithub(BaseModel):
    authentication_type: Optional[GitHubAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[Any]
    repository_owner: str = Field(alias="repositoryOwner")
    repository_name: str = Field(alias="repositoryName")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    personal_access_token: Optional[str] = Field(alias="personalAccessToken")
    connector: Optional["QueryFeedsFeedsResultsSiteGithubConnector"]


class QueryFeedsFeedsResultsSiteGithubConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsEmail(BaseModel):
    type: FeedServiceTypes
    include_attachments: Optional[bool] = Field(alias="includeAttachments")
    google: Optional["QueryFeedsFeedsResultsEmailGoogle"]
    microsoft: Optional["QueryFeedsFeedsResultsEmailMicrosoft"]
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsEmailGoogle(BaseModel):
    type: Optional[EmailListingTypes]
    filter: Optional[str]
    include_spam: Optional[bool] = Field(alias="includeSpam")
    exclude_sent_items: Optional[bool] = Field(alias="excludeSentItems")
    include_deleted_items: Optional[bool] = Field(alias="includeDeletedItems")
    inbox_only: Optional[bool] = Field(alias="inboxOnly")
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    authentication_type: Optional[GoogleEmailAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    refresh_token: Optional[str] = Field(alias="refreshToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    connector: Optional["QueryFeedsFeedsResultsEmailGoogleConnector"]


class QueryFeedsFeedsResultsEmailGoogleConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsEmailMicrosoft(BaseModel):
    type: Optional[EmailListingTypes]
    filter: Optional[str]
    include_spam: Optional[bool] = Field(alias="includeSpam")
    exclude_sent_items: Optional[bool] = Field(alias="excludeSentItems")
    include_deleted_items: Optional[bool] = Field(alias="includeDeletedItems")
    inbox_only: Optional[bool] = Field(alias="inboxOnly")
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    authentication_type: Optional[MicrosoftEmailAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    refresh_token: Optional[str] = Field(alias="refreshToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    connector: Optional["QueryFeedsFeedsResultsEmailMicrosoftConnector"]


class QueryFeedsFeedsResultsEmailMicrosoftConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssue(BaseModel):
    type: FeedServiceTypes
    include_attachments: Optional[bool] = Field(alias="includeAttachments")
    jira: Optional["QueryFeedsFeedsResultsIssueJira"]
    linear: Optional["QueryFeedsFeedsResultsIssueLinear"]
    github: Optional["QueryFeedsFeedsResultsIssueGithub"]
    intercom: Optional["QueryFeedsFeedsResultsIssueIntercom"]
    zendesk: Optional["QueryFeedsFeedsResultsIssueZendesk"]
    trello: Optional["QueryFeedsFeedsResultsIssueTrello"]
    attio: Optional["QueryFeedsFeedsResultsIssueAttio"]
    salesforce: Optional["QueryFeedsFeedsResultsIssueSalesforce"]
    hub_spot: Optional["QueryFeedsFeedsResultsIssueHubSpot"] = Field(alias="hubSpot")
    asana: Optional["QueryFeedsFeedsResultsIssueAsana"]
    monday: Optional["QueryFeedsFeedsResultsIssueMonday"]
    productlane: Optional["QueryFeedsFeedsResultsIssueProductlane"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsIssueJira(BaseModel):
    authentication_type: Optional[JiraAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[Any]
    project: Optional[str]
    email: Optional[str]
    token: Optional[str]
    offset: Optional[Any]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIssueJiraConnector"]
    cloud_id: Optional[str] = Field(alias="cloudId")


class QueryFeedsFeedsResultsIssueJiraConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueLinear(BaseModel):
    authentication_type: Optional[LinearAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    key: Optional[str]
    project: str
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIssueLinearConnector"]


class QueryFeedsFeedsResultsIssueLinearConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueGithub(BaseModel):
    authentication_type: Optional[GitHubAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[Any]
    repository_owner: str = Field(alias="repositoryOwner")
    repository_name: str = Field(alias="repositoryName")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    personal_access_token: Optional[str] = Field(alias="personalAccessToken")
    connector: Optional["QueryFeedsFeedsResultsIssueGithubConnector"]


class QueryFeedsFeedsResultsIssueGithubConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueIntercom(BaseModel):
    authentication_type: Optional[IntercomIssueAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    access_token: Optional[str] = Field(alias="accessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIssueIntercomConnector"]


class QueryFeedsFeedsResultsIssueIntercomConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueZendesk(BaseModel):
    authentication_type: Optional[ZendeskIssueAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    subdomain: str
    access_token: Optional[str] = Field(alias="accessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIssueZendeskConnector"]


class QueryFeedsFeedsResultsIssueZendeskConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueTrello(BaseModel):
    key: str
    token: str
    identifiers: list[str]
    type: TrelloTypes


class QueryFeedsFeedsResultsIssueAttio(BaseModel):
    authentication_type: Optional[AttioIssueAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    api_key: Optional[str] = Field(alias="apiKey")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIssueAttioConnector"]


class QueryFeedsFeedsResultsIssueAttioConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueSalesforce(BaseModel):
    authentication_type: Optional[SalesforceIssueAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    is_sandbox: Optional[bool] = Field(alias="isSandbox")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIssueSalesforceConnector"]


class QueryFeedsFeedsResultsIssueSalesforceConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueHubSpot(BaseModel):
    authentication_type: Optional[HubSpotIssueAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    access_token: Optional[str] = Field(alias="accessToken")
    connector: Optional["QueryFeedsFeedsResultsIssueHubSpotConnector"]


class QueryFeedsFeedsResultsIssueHubSpotConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIssueAsana(BaseModel):
    authentication_type: Optional[AsanaAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    personal_access_token: Optional[str] = Field(alias="personalAccessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    workspace_id: Optional[str] = Field(alias="workspaceId")
    project_id: Optional[str] = Field(alias="projectId")


class QueryFeedsFeedsResultsIssueMonday(BaseModel):
    api_token: str = Field(alias="apiToken")
    board_id: str = Field(alias="boardId")


class QueryFeedsFeedsResultsIssueProductlane(BaseModel):
    api_key: Optional[str] = Field(alias="apiKey")
    workspace_id: Optional[str] = Field(alias="workspaceId")


class QueryFeedsFeedsResultsInitiative(BaseModel):
    type: FeedServiceTypes
    jira: Optional["QueryFeedsFeedsResultsInitiativeJira"]
    github: Optional["QueryFeedsFeedsResultsInitiativeGithub"]
    linear: Optional["QueryFeedsFeedsResultsInitiativeLinear"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsInitiativeJira(BaseModel):
    authentication_type: Optional[JiraAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[str]
    project: Optional[str]
    email: Optional[str]
    token: Optional[str]
    offset: Optional[Any]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsInitiativeJiraConnector"]
    cloud_id: Optional[str] = Field(alias="cloudId")


class QueryFeedsFeedsResultsInitiativeJiraConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsInitiativeGithub(BaseModel):
    authentication_type: Optional[GitHubAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[str]
    repository_owner: Optional[str] = Field(alias="repositoryOwner")
    repository_name: Optional[str] = Field(alias="repositoryName")
    personal_access_token: Optional[str] = Field(alias="personalAccessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsInitiativeGithubConnector"]
    authorization_id: Optional[str] = Field(alias="authorizationId")


class QueryFeedsFeedsResultsInitiativeGithubConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsInitiativeLinear(BaseModel):
    authentication_type: Optional[LinearAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    key: Optional[str]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsInitiativeLinearConnector"]


class QueryFeedsFeedsResultsInitiativeLinearConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCommit(BaseModel):
    type: FeedServiceTypes
    github: Optional["QueryFeedsFeedsResultsCommitGithub"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsCommitGithub(BaseModel):
    authentication_type: Optional[GitHubCommitAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[Any]
    repository_owner: str = Field(alias="repositoryOwner")
    repository_name: str = Field(alias="repositoryName")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    personal_access_token: Optional[str] = Field(alias="personalAccessToken")
    connector: Optional["QueryFeedsFeedsResultsCommitGithubConnector"]


class QueryFeedsFeedsResultsCommitGithubConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsPullRequest(BaseModel):
    type: FeedServiceTypes
    github: Optional["QueryFeedsFeedsResultsPullRequestGithub"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsPullRequestGithub(BaseModel):
    authentication_type: Optional[GitHubPullRequestAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[Any]
    repository_owner: str = Field(alias="repositoryOwner")
    repository_name: str = Field(alias="repositoryName")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    personal_access_token: Optional[str] = Field(alias="personalAccessToken")
    connector: Optional["QueryFeedsFeedsResultsPullRequestGithubConnector"]


class QueryFeedsFeedsResultsPullRequestGithubConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCrm(BaseModel):
    type: FeedServiceTypes
    attio: Optional["QueryFeedsFeedsResultsCrmAttio"]
    google_contacts: Optional["QueryFeedsFeedsResultsCrmGoogleContacts"] = Field(
        alias="googleContacts"
    )
    microsoft_contacts: Optional["QueryFeedsFeedsResultsCrmMicrosoftContacts"] = Field(
        alias="microsoftContacts"
    )
    salesforce: Optional["QueryFeedsFeedsResultsCrmSalesforce"]
    hub_spot: Optional["QueryFeedsFeedsResultsCrmHubSpot"] = Field(alias="hubSpot")
    productlane: Optional["QueryFeedsFeedsResultsCrmProductlane"]
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsCrmAttio(BaseModel):
    authentication_type: Optional[AttioAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    api_key: Optional[str] = Field(alias="apiKey")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsCrmAttioConnector"]
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsCrmAttioConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCrmGoogleContacts(BaseModel):
    authentication_type: Optional[GoogleContactsAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsCrmGoogleContactsConnector"]
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsCrmGoogleContactsConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCrmMicrosoftContacts(BaseModel):
    authentication_type: Optional[MicrosoftContactsAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    tenant_id: Optional[str] = Field(alias="tenantId")
    connector: Optional["QueryFeedsFeedsResultsCrmMicrosoftContactsConnector"]
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsCrmMicrosoftContactsConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCrmSalesforce(BaseModel):
    authentication_type: Optional[SalesforceAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    instance_url: Optional[str] = Field(alias="instanceUrl")
    is_sandbox: Optional[bool] = Field(alias="isSandbox")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsCrmSalesforceConnector"]
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsCrmSalesforceConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCrmHubSpot(BaseModel):
    authentication_type: Optional[HubSpotAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    access_token: Optional[str] = Field(alias="accessToken")
    connector: Optional["QueryFeedsFeedsResultsCrmHubSpotConnector"]
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsCrmHubSpotConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCrmProductlane(BaseModel):
    api_key: Optional[str] = Field(alias="apiKey")
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsHris(BaseModel):
    type: FeedServiceTypes
    bamboo_hr: Optional["QueryFeedsFeedsResultsHrisBambooHr"] = Field(alias="bambooHR")
    gusto: Optional["QueryFeedsFeedsResultsHrisGusto"]
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsHrisBambooHr(BaseModel):
    authentication_type: Optional[BambooHRAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    api_key: Optional[str] = Field(alias="apiKey")
    company_domain: Optional[str] = Field(alias="companyDomain")


class QueryFeedsFeedsResultsHrisGusto(BaseModel):
    authentication_type: Optional[GustoAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    company_id: Optional[str] = Field(alias="companyId")


class QueryFeedsFeedsResultsCalendar(BaseModel):
    type: FeedServiceTypes
    include_attachments: Optional[bool] = Field(alias="includeAttachments")
    enable_meeting_recording: Optional[bool] = Field(alias="enableMeetingRecording")
    meeting_bot_name: Optional[str] = Field(alias="meetingBotName")
    google: Optional["QueryFeedsFeedsResultsCalendarGoogle"]
    microsoft: Optional["QueryFeedsFeedsResultsCalendarMicrosoft"]
    read_limit: Optional[int] = Field(alias="readLimit")


class QueryFeedsFeedsResultsCalendarGoogle(BaseModel):
    type: Optional[CalendarListingTypes]
    calendar_id: Optional[str] = Field(alias="calendarId")
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    authentication_type: Optional[GoogleCalendarAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    refresh_token: Optional[str] = Field(alias="refreshToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    connector: Optional["QueryFeedsFeedsResultsCalendarGoogleConnector"]


class QueryFeedsFeedsResultsCalendarGoogleConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsCalendarMicrosoft(BaseModel):
    type: Optional[CalendarListingTypes]
    calendar_id: Optional[str] = Field(alias="calendarId")
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    authentication_type: Optional[MicrosoftCalendarAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    refresh_token: Optional[str] = Field(alias="refreshToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    connector: Optional["QueryFeedsFeedsResultsCalendarMicrosoftConnector"]


class QueryFeedsFeedsResultsCalendarMicrosoftConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsMeeting(BaseModel):
    type: FeedServiceTypes
    content_type: Optional[MeetingContentTypes] = Field(alias="contentType")
    read_limit: Optional[int] = Field(alias="readLimit")
    fireflies: Optional["QueryFeedsFeedsResultsMeetingFireflies"]
    attio: Optional["QueryFeedsFeedsResultsMeetingAttio"]
    fathom: Optional["QueryFeedsFeedsResultsMeetingFathom"]
    hub_spot: Optional["QueryFeedsFeedsResultsMeetingHubSpot"] = Field(alias="hubSpot")
    krisp: Optional["QueryFeedsFeedsResultsMeetingKrisp"]


class QueryFeedsFeedsResultsMeetingFireflies(BaseModel):
    api_key: Optional[str] = Field(alias="apiKey")
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsMeetingAttio(BaseModel):
    authentication_type: Optional[AttioMeetingAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    api_key: Optional[str] = Field(alias="apiKey")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsMeetingAttioConnector"]
    after_date: Optional[Any] = Field(alias="afterDate")
    before_date: Optional[Any] = Field(alias="beforeDate")
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsMeetingAttioConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsMeetingFathom(BaseModel):
    api_key: Optional[str] = Field(alias="apiKey")
    after_date: Optional[Any] = Field(alias="afterDate")
    before_date: Optional[Any] = Field(alias="beforeDate")
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsMeetingHubSpot(BaseModel):
    authentication_type: Optional[HubSpotFeedAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    access_token: Optional[str] = Field(alias="accessToken")
    include_transcripts: Optional[bool] = Field(alias="includeTranscripts")
    after_date: Optional[Any] = Field(alias="afterDate")
    before_date: Optional[Any] = Field(alias="beforeDate")
    read_limit: Optional[int] = Field(alias="readLimit")
    connector: Optional["QueryFeedsFeedsResultsMeetingHubSpotConnector"]
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsMeetingHubSpotConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsMeetingKrisp(BaseModel):
    auth_token: Optional[str] = Field(alias="authToken")
    type: Optional[FeedListingTypes]


class QueryFeedsFeedsResultsRss(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    uri: Any


class QueryFeedsFeedsResultsWeb(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    uri: Any
    include_files: Optional[bool] = Field(alias="includeFiles")
    allowed_paths: Optional[list[str]] = Field(alias="allowedPaths")
    excluded_paths: Optional[list[str]] = Field(alias="excludedPaths")


class QueryFeedsFeedsResultsSearch(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[SearchServiceTypes]
    text: Optional[str]
    exa: Optional["QueryFeedsFeedsResultsSearchExa"]
    crustdata: Optional["QueryFeedsFeedsResultsSearchCrustdata"]


class QueryFeedsFeedsResultsSearchExa(BaseModel):
    search_type: Optional[ExaSearchTypes] = Field(alias="searchType")


class QueryFeedsFeedsResultsSearchCrustdata(BaseModel):
    signal_type: Optional[CrustdataWatcherSignalTypes] = Field(alias="signalType")
    company_domain: Optional[str] = Field(alias="companyDomain")
    company_linked_in_url: Optional[str] = Field(alias="companyLinkedInUrl")
    company_id: Optional[str] = Field(alias="companyId")
    person_linked_in_urls: Optional[list[str]] = Field(alias="personLinkedInUrls")
    job_title: Optional[str] = Field(alias="jobTitle")
    job_region: Optional[str] = Field(alias="jobRegion")
    job_description: Optional[str] = Field(alias="jobDescription")


class QueryFeedsFeedsResultsReddit(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    subreddit_name: str = Field(alias="subredditName")


class QueryFeedsFeedsResultsLinkedIn(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    listing_type: Optional[LinkedInPostListingTypes] = Field(alias="listingType")
    company_domain: Optional[str] = Field(alias="companyDomain")
    company_linked_in_url: Optional[str] = Field(alias="companyLinkedInUrl")
    company_name: Optional[str] = Field(alias="companyName")
    person_linked_in_url: Optional[str] = Field(alias="personLinkedInUrl")
    post_types: Optional[str] = Field(alias="postTypes")
    keyword: Optional[str]
    date_posted: Optional[str] = Field(alias="datePosted")
    exact_keyword_match: Optional[bool] = Field(alias="exactKeywordMatch")
    content_types: Optional[list[Optional[LinkedInPostContentTypes]]] = Field(
        alias="contentTypes"
    )
    include_comments: Optional[bool] = Field(alias="includeComments")
    max_comments: Optional[int] = Field(alias="maxComments")


class QueryFeedsFeedsResultsNotion(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[NotionAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    token: Optional[str]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsNotionConnector"]
    identifiers: list[str]
    type: NotionTypes


class QueryFeedsFeedsResultsNotionConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsConfluence(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[ConfluenceAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    uri: Optional[str]
    email: Optional[str]
    token: Optional[str]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsConfluenceConnector"]
    cloud_id: Optional[str] = Field(alias="cloudId")
    space_keys: Optional[list[str]] = Field(alias="spaceKeys")
    identifiers: Optional[list[str]]
    type: ConfluenceTypes
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class QueryFeedsFeedsResultsConfluenceConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIntercom(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[IntercomAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    access_token: Optional[str] = Field(alias="accessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIntercomConnector"]


class QueryFeedsFeedsResultsIntercomConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsZendesk(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[ZendeskAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    subdomain: str
    access_token: Optional[str] = Field(alias="accessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsZendeskConnector"]


class QueryFeedsFeedsResultsZendeskConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsYoutube(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: YouTubeTypes
    video_name: Optional[str] = Field(alias="videoName")
    video_identifiers: Optional[list[str]] = Field(alias="videoIdentifiers")
    channel_identifier: Optional[str] = Field(alias="channelIdentifier")
    playlist_identifier: Optional[str] = Field(alias="playlistIdentifier")


class QueryFeedsFeedsResultsTwitter(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[TwitterAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    token: Optional[str]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsTwitterConnector"]
    type: Optional[TwitterListingTypes]
    user_name: Optional[str] = Field(alias="userName")
    query: Optional[str]
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class QueryFeedsFeedsResultsTwitterConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSlack(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[FeedListingTypes]
    authentication_type: Optional[SlackAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    token: Optional[str]
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsSlackConnector"]
    channel: str
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class QueryFeedsFeedsResultsSlackConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsMicrosoftTeams(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[FeedListingTypes]
    authentication_type: Optional[MicrosoftTeamsAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsMicrosoftTeamsConnector"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    team_id: str = Field(alias="teamId")
    channel_id: str = Field(alias="channelId")
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class QueryFeedsFeedsResultsMicrosoftTeamsConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsDiscord(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[FeedListingTypes]
    token: str
    channel: str
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class QueryFeedsFeedsResultsAttio(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[AttioFeedAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    api_key: Optional[str] = Field(alias="apiKey")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsAttioConnector"]


class QueryFeedsFeedsResultsAttioConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsSalesforce(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[SalesforceFeedAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    is_sandbox: Optional[bool] = Field(alias="isSandbox")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsSalesforceConnector"]


class QueryFeedsFeedsResultsSalesforceConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsHubSpotConversations(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[HubSpotFeedAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    client_id: Optional[str] = Field(alias="clientId")
    access_token: Optional[str] = Field(alias="accessToken")
    inbox_id: Optional[str] = Field(alias="inboxId")
    include_closed_threads: Optional[bool] = Field(alias="includeClosedThreads")
    include_attachments: Optional[bool] = Field(alias="includeAttachments")
    connector: Optional["QueryFeedsFeedsResultsHubSpotConversationsConnector"]


class QueryFeedsFeedsResultsHubSpotConversationsConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsIntercomConversations(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    authentication_type: Optional[IntercomConversationsAuthenticationTypes] = Field(
        alias="authenticationType"
    )
    access_token: Optional[str] = Field(alias="accessToken")
    client_id: Optional[str] = Field(alias="clientId")
    client_secret: Optional[str] = Field(alias="clientSecret")
    refresh_token: Optional[str] = Field(alias="refreshToken")
    connector: Optional["QueryFeedsFeedsResultsIntercomConversationsConnector"]
    state: Optional[str]
    include_notes: Optional[bool] = Field(alias="includeNotes")
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class QueryFeedsFeedsResultsIntercomConversationsConnector(BaseModel):
    id: str


class QueryFeedsFeedsResultsProductlane(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: FeedServiceTypes
    api_key: Optional[str] = Field(alias="apiKey")
    workspace_id: Optional[str] = Field(alias="workspaceId")


class QueryFeedsFeedsResultsResearch(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[FeedServiceTypes]
    query: str
    parallel: Optional["QueryFeedsFeedsResultsResearchParallel"]


class QueryFeedsFeedsResultsResearchParallel(BaseModel):
    processor: Optional[ParallelProcessors]


class QueryFeedsFeedsResultsEntity(BaseModel):
    type: FeedServiceTypes
    query: Optional[str]
    read_limit: Optional[int] = Field(alias="readLimit")
    parallel: Optional["QueryFeedsFeedsResultsEntityParallel"]
    crustdata: Optional["QueryFeedsFeedsResultsEntityCrustdata"]


class QueryFeedsFeedsResultsEntityParallel(BaseModel):
    generator: Optional[ParallelGenerators]
    processor: Optional[ParallelProcessors]


class QueryFeedsFeedsResultsEntityCrustdata(BaseModel):
    person_filters: Optional["QueryFeedsFeedsResultsEntityCrustdataPersonFilters"] = (
        Field(alias="personFilters")
    )
    company_filters: Optional["QueryFeedsFeedsResultsEntityCrustdataCompanyFilters"] = (
        Field(alias="companyFilters")
    )


class QueryFeedsFeedsResultsEntityCrustdataPersonFilters(BaseModel):
    titles: Optional[list[str]]
    seniority_levels: Optional[list[str]] = Field(alias="seniorityLevels")
    function_categories: Optional[list[str]] = Field(alias="functionCategories")
    company_names: Optional[list[str]] = Field(alias="companyNames")
    company_domains: Optional[list[str]] = Field(alias="companyDomains")
    company_linked_in_urls: Optional[list[str]] = Field(alias="companyLinkedInUrls")
    industries: Optional[list[str]]
    regions: Optional[list[str]]
    countries: Optional[list[str]]
    skills: Optional[list[str]]
    schools: Optional[list[str]]
    min_years_experience: Optional[int] = Field(alias="minYearsExperience")
    max_years_experience: Optional[int] = Field(alias="maxYearsExperience")
    min_connections: Optional[int] = Field(alias="minConnections")
    recently_changed_jobs: Optional[bool] = Field(alias="recentlyChangedJobs")


class QueryFeedsFeedsResultsEntityCrustdataCompanyFilters(BaseModel):
    names: Optional[list[str]]
    domains: Optional[list[str]]
    industries: Optional[list[str]]
    categories: Optional[list[str]]
    countries: Optional[list[str]]
    locations: Optional[list[str]]
    company_types: Optional[list[str]] = Field(alias="companyTypes")
    min_employee_count: Optional[int] = Field(alias="minEmployeeCount")
    max_employee_count: Optional[int] = Field(alias="maxEmployeeCount")
    min_growth_6_m_percent: Optional[Any] = Field(alias="minGrowth6mPercent")
    min_growth_12_m_percent: Optional[Any] = Field(alias="minGrowth12mPercent")
    funding_round_types: Optional[list[str]] = Field(alias="fundingRoundTypes")
    min_funding_date: Optional[Any] = Field(alias="minFundingDate")
    min_total_funding_usd: Optional[Any] = Field(alias="minTotalFundingUsd")
    min_revenue_lower_bound_usd: Optional[Any] = Field(alias="minRevenueLowerBoundUsd")
    max_revenue_upper_bound_usd: Optional[Any] = Field(alias="maxRevenueUpperBoundUsd")
    min_year_founded: Optional[int] = Field(alias="minYearFounded")
    max_year_founded: Optional[int] = Field(alias="maxYearFounded")


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


class QueryFeedsFeedsResultsSchedulePolicy(BaseModel):
    recurrence_type: Optional[TimedPolicyRecurrenceTypes] = Field(
        alias="recurrenceType"
    )
    repeat_interval: Optional[Any] = Field(alias="repeatInterval")


QueryFeeds.model_rebuild()
QueryFeedsFeeds.model_rebuild()
QueryFeedsFeedsResults.model_rebuild()
QueryFeedsFeedsResultsSite.model_rebuild()
QueryFeedsFeedsResultsSiteSharePoint.model_rebuild()
QueryFeedsFeedsResultsSiteOneDrive.model_rebuild()
QueryFeedsFeedsResultsSiteGoogleDrive.model_rebuild()
QueryFeedsFeedsResultsSiteDropbox.model_rebuild()
QueryFeedsFeedsResultsSiteBox.model_rebuild()
QueryFeedsFeedsResultsSiteGithub.model_rebuild()
QueryFeedsFeedsResultsEmail.model_rebuild()
QueryFeedsFeedsResultsEmailGoogle.model_rebuild()
QueryFeedsFeedsResultsEmailMicrosoft.model_rebuild()
QueryFeedsFeedsResultsIssue.model_rebuild()
QueryFeedsFeedsResultsIssueJira.model_rebuild()
QueryFeedsFeedsResultsIssueLinear.model_rebuild()
QueryFeedsFeedsResultsIssueGithub.model_rebuild()
QueryFeedsFeedsResultsIssueIntercom.model_rebuild()
QueryFeedsFeedsResultsIssueZendesk.model_rebuild()
QueryFeedsFeedsResultsIssueAttio.model_rebuild()
QueryFeedsFeedsResultsIssueSalesforce.model_rebuild()
QueryFeedsFeedsResultsIssueHubSpot.model_rebuild()
QueryFeedsFeedsResultsInitiative.model_rebuild()
QueryFeedsFeedsResultsInitiativeJira.model_rebuild()
QueryFeedsFeedsResultsInitiativeGithub.model_rebuild()
QueryFeedsFeedsResultsInitiativeLinear.model_rebuild()
QueryFeedsFeedsResultsCommit.model_rebuild()
QueryFeedsFeedsResultsCommitGithub.model_rebuild()
QueryFeedsFeedsResultsPullRequest.model_rebuild()
QueryFeedsFeedsResultsPullRequestGithub.model_rebuild()
QueryFeedsFeedsResultsCrm.model_rebuild()
QueryFeedsFeedsResultsCrmAttio.model_rebuild()
QueryFeedsFeedsResultsCrmGoogleContacts.model_rebuild()
QueryFeedsFeedsResultsCrmMicrosoftContacts.model_rebuild()
QueryFeedsFeedsResultsCrmSalesforce.model_rebuild()
QueryFeedsFeedsResultsCrmHubSpot.model_rebuild()
QueryFeedsFeedsResultsHris.model_rebuild()
QueryFeedsFeedsResultsCalendar.model_rebuild()
QueryFeedsFeedsResultsCalendarGoogle.model_rebuild()
QueryFeedsFeedsResultsCalendarMicrosoft.model_rebuild()
QueryFeedsFeedsResultsMeeting.model_rebuild()
QueryFeedsFeedsResultsMeetingAttio.model_rebuild()
QueryFeedsFeedsResultsMeetingHubSpot.model_rebuild()
QueryFeedsFeedsResultsSearch.model_rebuild()
QueryFeedsFeedsResultsNotion.model_rebuild()
QueryFeedsFeedsResultsConfluence.model_rebuild()
QueryFeedsFeedsResultsIntercom.model_rebuild()
QueryFeedsFeedsResultsZendesk.model_rebuild()
QueryFeedsFeedsResultsTwitter.model_rebuild()
QueryFeedsFeedsResultsSlack.model_rebuild()
QueryFeedsFeedsResultsMicrosoftTeams.model_rebuild()
QueryFeedsFeedsResultsAttio.model_rebuild()
QueryFeedsFeedsResultsSalesforce.model_rebuild()
QueryFeedsFeedsResultsHubSpotConversations.model_rebuild()
QueryFeedsFeedsResultsIntercomConversations.model_rebuild()
QueryFeedsFeedsResultsResearch.model_rebuild()
QueryFeedsFeedsResultsEntity.model_rebuild()
QueryFeedsFeedsResultsEntityCrustdata.model_rebuild()
