# 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 GetFeed(BaseModel):
    feed: Optional["GetFeedFeed"]


class GetFeedFeed(BaseModel):
    id: str
    name: str
    creation_date: Any = Field(alias="creationDate")
    modified_date: Optional[Any] = Field(alias="modifiedDate")
    owner: "GetFeedFeedOwner"
    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["GetFeedFeedSite"]
    email: Optional["GetFeedFeedEmail"]
    issue: Optional["GetFeedFeedIssue"]
    initiative: Optional["GetFeedFeedInitiative"]
    commit: Optional["GetFeedFeedCommit"]
    pull_request: Optional["GetFeedFeedPullRequest"] = Field(alias="pullRequest")
    crm: Optional["GetFeedFeedCrm"]
    hris: Optional["GetFeedFeedHris"]
    calendar: Optional["GetFeedFeedCalendar"]
    meeting: Optional["GetFeedFeedMeeting"]
    rss: Optional["GetFeedFeedRss"]
    web: Optional["GetFeedFeedWeb"]
    search: Optional["GetFeedFeedSearch"]
    reddit: Optional["GetFeedFeedReddit"]
    linked_in: Optional["GetFeedFeedLinkedIn"] = Field(alias="linkedIn")
    notion: Optional["GetFeedFeedNotion"]
    confluence: Optional["GetFeedFeedConfluence"]
    intercom: Optional["GetFeedFeedIntercom"]
    zendesk: Optional["GetFeedFeedZendesk"]
    youtube: Optional["GetFeedFeedYoutube"]
    twitter: Optional["GetFeedFeedTwitter"]
    slack: Optional["GetFeedFeedSlack"]
    microsoft_teams: Optional["GetFeedFeedMicrosoftTeams"] = Field(
        alias="microsoftTeams"
    )
    discord: Optional["GetFeedFeedDiscord"]
    attio: Optional["GetFeedFeedAttio"]
    salesforce: Optional["GetFeedFeedSalesforce"]
    hub_spot_conversations: Optional["GetFeedFeedHubSpotConversations"] = Field(
        alias="hubSpotConversations"
    )
    intercom_conversations: Optional["GetFeedFeedIntercomConversations"] = Field(
        alias="intercomConversations"
    )
    productlane: Optional["GetFeedFeedProductlane"]
    research: Optional["GetFeedFeedResearch"]
    entity: Optional["GetFeedFeedEntity"]
    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["GetFeedFeedWorkflow"]
    schedule_policy: Optional["GetFeedFeedSchedulePolicy"] = Field(
        alias="schedulePolicy"
    )


class GetFeedFeedOwner(BaseModel):
    id: str


class GetFeedFeedSite(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["GetFeedFeedSiteS3"] = Field(alias="s3")
    azure_blob: Optional["GetFeedFeedSiteAzureBlob"] = Field(alias="azureBlob")
    azure_file: Optional["GetFeedFeedSiteAzureFile"] = Field(alias="azureFile")
    google: Optional["GetFeedFeedSiteGoogle"]
    share_point: Optional["GetFeedFeedSiteSharePoint"] = Field(alias="sharePoint")
    one_drive: Optional["GetFeedFeedSiteOneDrive"] = Field(alias="oneDrive")
    google_drive: Optional["GetFeedFeedSiteGoogleDrive"] = Field(alias="googleDrive")
    dropbox: Optional["GetFeedFeedSiteDropbox"]
    box: Optional["GetFeedFeedSiteBox"]
    github: Optional["GetFeedFeedSiteGithub"]
    read_limit: Optional[int] = Field(alias="readLimit")


class GetFeedFeedSiteS3(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 GetFeedFeedSiteAzureBlob(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 GetFeedFeedSiteAzureFile(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 GetFeedFeedSiteGoogle(BaseModel):
    credentials: Optional[str]
    container_name: Optional[str] = Field(alias="containerName")
    prefix: Optional[str]


class GetFeedFeedSiteSharePoint(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["GetFeedFeedSiteSharePointConnector"]


class GetFeedFeedSiteSharePointConnector(BaseModel):
    id: str


class GetFeedFeedSiteOneDrive(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["GetFeedFeedSiteOneDriveConnector"]


class GetFeedFeedSiteOneDriveConnector(BaseModel):
    id: str


class GetFeedFeedSiteGoogleDrive(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["GetFeedFeedSiteGoogleDriveConnector"]


class GetFeedFeedSiteGoogleDriveConnector(BaseModel):
    id: str


class GetFeedFeedSiteDropbox(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["GetFeedFeedSiteDropboxConnector"]


class GetFeedFeedSiteDropboxConnector(BaseModel):
    id: str


class GetFeedFeedSiteBox(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["GetFeedFeedSiteBoxConnector"]


class GetFeedFeedSiteBoxConnector(BaseModel):
    id: str


class GetFeedFeedSiteGithub(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["GetFeedFeedSiteGithubConnector"]


class GetFeedFeedSiteGithubConnector(BaseModel):
    id: str


class GetFeedFeedEmail(BaseModel):
    type: FeedServiceTypes
    include_attachments: Optional[bool] = Field(alias="includeAttachments")
    google: Optional["GetFeedFeedEmailGoogle"]
    microsoft: Optional["GetFeedFeedEmailMicrosoft"]
    read_limit: Optional[int] = Field(alias="readLimit")


class GetFeedFeedEmailGoogle(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["GetFeedFeedEmailGoogleConnector"]


class GetFeedFeedEmailGoogleConnector(BaseModel):
    id: str


class GetFeedFeedEmailMicrosoft(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["GetFeedFeedEmailMicrosoftConnector"]


class GetFeedFeedEmailMicrosoftConnector(BaseModel):
    id: str


class GetFeedFeedIssue(BaseModel):
    type: FeedServiceTypes
    include_attachments: Optional[bool] = Field(alias="includeAttachments")
    jira: Optional["GetFeedFeedIssueJira"]
    linear: Optional["GetFeedFeedIssueLinear"]
    github: Optional["GetFeedFeedIssueGithub"]
    intercom: Optional["GetFeedFeedIssueIntercom"]
    zendesk: Optional["GetFeedFeedIssueZendesk"]
    trello: Optional["GetFeedFeedIssueTrello"]
    attio: Optional["GetFeedFeedIssueAttio"]
    salesforce: Optional["GetFeedFeedIssueSalesforce"]
    hub_spot: Optional["GetFeedFeedIssueHubSpot"] = Field(alias="hubSpot")
    asana: Optional["GetFeedFeedIssueAsana"]
    monday: Optional["GetFeedFeedIssueMonday"]
    productlane: Optional["GetFeedFeedIssueProductlane"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    read_limit: Optional[int] = Field(alias="readLimit")


class GetFeedFeedIssueJira(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["GetFeedFeedIssueJiraConnector"]
    cloud_id: Optional[str] = Field(alias="cloudId")


class GetFeedFeedIssueJiraConnector(BaseModel):
    id: str


class GetFeedFeedIssueLinear(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["GetFeedFeedIssueLinearConnector"]


class GetFeedFeedIssueLinearConnector(BaseModel):
    id: str


class GetFeedFeedIssueGithub(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["GetFeedFeedIssueGithubConnector"]


class GetFeedFeedIssueGithubConnector(BaseModel):
    id: str


class GetFeedFeedIssueIntercom(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["GetFeedFeedIssueIntercomConnector"]


class GetFeedFeedIssueIntercomConnector(BaseModel):
    id: str


class GetFeedFeedIssueZendesk(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["GetFeedFeedIssueZendeskConnector"]


class GetFeedFeedIssueZendeskConnector(BaseModel):
    id: str


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


class GetFeedFeedIssueAttio(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["GetFeedFeedIssueAttioConnector"]


class GetFeedFeedIssueAttioConnector(BaseModel):
    id: str


class GetFeedFeedIssueSalesforce(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["GetFeedFeedIssueSalesforceConnector"]


class GetFeedFeedIssueSalesforceConnector(BaseModel):
    id: str


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


class GetFeedFeedIssueHubSpotConnector(BaseModel):
    id: str


class GetFeedFeedIssueAsana(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 GetFeedFeedIssueMonday(BaseModel):
    api_token: str = Field(alias="apiToken")
    board_id: str = Field(alias="boardId")


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


class GetFeedFeedInitiative(BaseModel):
    type: FeedServiceTypes
    jira: Optional["GetFeedFeedInitiativeJira"]
    github: Optional["GetFeedFeedInitiativeGithub"]
    linear: Optional["GetFeedFeedInitiativeLinear"]
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    read_limit: Optional[int] = Field(alias="readLimit")


class GetFeedFeedInitiativeJira(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["GetFeedFeedInitiativeJiraConnector"]
    cloud_id: Optional[str] = Field(alias="cloudId")


class GetFeedFeedInitiativeJiraConnector(BaseModel):
    id: str


class GetFeedFeedInitiativeGithub(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["GetFeedFeedInitiativeGithubConnector"]
    authorization_id: Optional[str] = Field(alias="authorizationId")


class GetFeedFeedInitiativeGithubConnector(BaseModel):
    id: str


class GetFeedFeedInitiativeLinear(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["GetFeedFeedInitiativeLinearConnector"]


class GetFeedFeedInitiativeLinearConnector(BaseModel):
    id: str


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


class GetFeedFeedCommitGithub(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["GetFeedFeedCommitGithubConnector"]


class GetFeedFeedCommitGithubConnector(BaseModel):
    id: str


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


class GetFeedFeedPullRequestGithub(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["GetFeedFeedPullRequestGithubConnector"]


class GetFeedFeedPullRequestGithubConnector(BaseModel):
    id: str


class GetFeedFeedCrm(BaseModel):
    type: FeedServiceTypes
    attio: Optional["GetFeedFeedCrmAttio"]
    google_contacts: Optional["GetFeedFeedCrmGoogleContacts"] = Field(
        alias="googleContacts"
    )
    microsoft_contacts: Optional["GetFeedFeedCrmMicrosoftContacts"] = Field(
        alias="microsoftContacts"
    )
    salesforce: Optional["GetFeedFeedCrmSalesforce"]
    hub_spot: Optional["GetFeedFeedCrmHubSpot"] = Field(alias="hubSpot")
    productlane: Optional["GetFeedFeedCrmProductlane"]
    read_limit: Optional[int] = Field(alias="readLimit")


class GetFeedFeedCrmAttio(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["GetFeedFeedCrmAttioConnector"]
    type: Optional[FeedListingTypes]


class GetFeedFeedCrmAttioConnector(BaseModel):
    id: str


class GetFeedFeedCrmGoogleContacts(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["GetFeedFeedCrmGoogleContactsConnector"]
    type: Optional[FeedListingTypes]


class GetFeedFeedCrmGoogleContactsConnector(BaseModel):
    id: str


class GetFeedFeedCrmMicrosoftContacts(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["GetFeedFeedCrmMicrosoftContactsConnector"]
    type: Optional[FeedListingTypes]


class GetFeedFeedCrmMicrosoftContactsConnector(BaseModel):
    id: str


class GetFeedFeedCrmSalesforce(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["GetFeedFeedCrmSalesforceConnector"]
    type: Optional[FeedListingTypes]


class GetFeedFeedCrmSalesforceConnector(BaseModel):
    id: str


class GetFeedFeedCrmHubSpot(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["GetFeedFeedCrmHubSpotConnector"]
    type: Optional[FeedListingTypes]


class GetFeedFeedCrmHubSpotConnector(BaseModel):
    id: str


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


class GetFeedFeedHris(BaseModel):
    type: FeedServiceTypes
    bamboo_hr: Optional["GetFeedFeedHrisBambooHr"] = Field(alias="bambooHR")
    gusto: Optional["GetFeedFeedHrisGusto"]
    read_limit: Optional[int] = Field(alias="readLimit")


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


class GetFeedFeedHrisGusto(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 GetFeedFeedCalendar(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["GetFeedFeedCalendarGoogle"]
    microsoft: Optional["GetFeedFeedCalendarMicrosoft"]
    read_limit: Optional[int] = Field(alias="readLimit")


class GetFeedFeedCalendarGoogle(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["GetFeedFeedCalendarGoogleConnector"]


class GetFeedFeedCalendarGoogleConnector(BaseModel):
    id: str


class GetFeedFeedCalendarMicrosoft(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["GetFeedFeedCalendarMicrosoftConnector"]


class GetFeedFeedCalendarMicrosoftConnector(BaseModel):
    id: str


class GetFeedFeedMeeting(BaseModel):
    type: FeedServiceTypes
    content_type: Optional[MeetingContentTypes] = Field(alias="contentType")
    read_limit: Optional[int] = Field(alias="readLimit")
    fireflies: Optional["GetFeedFeedMeetingFireflies"]
    attio: Optional["GetFeedFeedMeetingAttio"]
    fathom: Optional["GetFeedFeedMeetingFathom"]
    hub_spot: Optional["GetFeedFeedMeetingHubSpot"] = Field(alias="hubSpot")
    krisp: Optional["GetFeedFeedMeetingKrisp"]


class GetFeedFeedMeetingFireflies(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 GetFeedFeedMeetingAttio(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["GetFeedFeedMeetingAttioConnector"]
    after_date: Optional[Any] = Field(alias="afterDate")
    before_date: Optional[Any] = Field(alias="beforeDate")
    type: Optional[FeedListingTypes]


class GetFeedFeedMeetingAttioConnector(BaseModel):
    id: str


class GetFeedFeedMeetingFathom(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 GetFeedFeedMeetingHubSpot(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["GetFeedFeedMeetingHubSpotConnector"]
    type: Optional[FeedListingTypes]


class GetFeedFeedMeetingHubSpotConnector(BaseModel):
    id: str


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


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


class GetFeedFeedWeb(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 GetFeedFeedSearch(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[SearchServiceTypes]
    text: Optional[str]
    exa: Optional["GetFeedFeedSearchExa"]
    crustdata: Optional["GetFeedFeedSearchCrustdata"]


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


class GetFeedFeedSearchCrustdata(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 GetFeedFeedReddit(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    subreddit_name: str = Field(alias="subredditName")


class GetFeedFeedLinkedIn(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 GetFeedFeedNotion(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["GetFeedFeedNotionConnector"]
    identifiers: list[str]
    type: NotionTypes


class GetFeedFeedNotionConnector(BaseModel):
    id: str


class GetFeedFeedConfluence(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["GetFeedFeedConfluenceConnector"]
    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 GetFeedFeedConfluenceConnector(BaseModel):
    id: str


class GetFeedFeedIntercom(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["GetFeedFeedIntercomConnector"]


class GetFeedFeedIntercomConnector(BaseModel):
    id: str


class GetFeedFeedZendesk(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["GetFeedFeedZendeskConnector"]


class GetFeedFeedZendeskConnector(BaseModel):
    id: str


class GetFeedFeedYoutube(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 GetFeedFeedTwitter(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["GetFeedFeedTwitterConnector"]
    type: Optional[TwitterListingTypes]
    user_name: Optional[str] = Field(alias="userName")
    query: Optional[str]
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class GetFeedFeedTwitterConnector(BaseModel):
    id: str


class GetFeedFeedSlack(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["GetFeedFeedSlackConnector"]
    channel: str
    before_date: Optional[Any] = Field(alias="beforeDate")
    after_date: Optional[Any] = Field(alias="afterDate")
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class GetFeedFeedSlackConnector(BaseModel):
    id: str


class GetFeedFeedMicrosoftTeams(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["GetFeedFeedMicrosoftTeamsConnector"]
    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 GetFeedFeedMicrosoftTeamsConnector(BaseModel):
    id: str


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


class GetFeedFeedAttio(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["GetFeedFeedAttioConnector"]


class GetFeedFeedAttioConnector(BaseModel):
    id: str


class GetFeedFeedSalesforce(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["GetFeedFeedSalesforceConnector"]


class GetFeedFeedSalesforceConnector(BaseModel):
    id: str


class GetFeedFeedHubSpotConversations(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["GetFeedFeedHubSpotConversationsConnector"]


class GetFeedFeedHubSpotConversationsConnector(BaseModel):
    id: str


class GetFeedFeedIntercomConversations(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["GetFeedFeedIntercomConversationsConnector"]
    state: Optional[str]
    include_notes: Optional[bool] = Field(alias="includeNotes")
    include_attachments: Optional[bool] = Field(alias="includeAttachments")


class GetFeedFeedIntercomConversationsConnector(BaseModel):
    id: str


class GetFeedFeedProductlane(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 GetFeedFeedResearch(BaseModel):
    read_limit: Optional[int] = Field(alias="readLimit")
    type: Optional[FeedServiceTypes]
    query: str
    parallel: Optional["GetFeedFeedResearchParallel"]


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


class GetFeedFeedEntity(BaseModel):
    type: FeedServiceTypes
    query: Optional[str]
    read_limit: Optional[int] = Field(alias="readLimit")
    parallel: Optional["GetFeedFeedEntityParallel"]
    crustdata: Optional["GetFeedFeedEntityCrustdata"]


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


class GetFeedFeedEntityCrustdata(BaseModel):
    person_filters: Optional["GetFeedFeedEntityCrustdataPersonFilters"] = Field(
        alias="personFilters"
    )
    company_filters: Optional["GetFeedFeedEntityCrustdataCompanyFilters"] = Field(
        alias="companyFilters"
    )


class GetFeedFeedEntityCrustdataPersonFilters(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 GetFeedFeedEntityCrustdataCompanyFilters(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 GetFeedFeedWorkflow(BaseModel):
    id: str
    name: str


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


GetFeed.model_rebuild()
GetFeedFeed.model_rebuild()
GetFeedFeedSite.model_rebuild()
GetFeedFeedSiteSharePoint.model_rebuild()
GetFeedFeedSiteOneDrive.model_rebuild()
GetFeedFeedSiteGoogleDrive.model_rebuild()
GetFeedFeedSiteDropbox.model_rebuild()
GetFeedFeedSiteBox.model_rebuild()
GetFeedFeedSiteGithub.model_rebuild()
GetFeedFeedEmail.model_rebuild()
GetFeedFeedEmailGoogle.model_rebuild()
GetFeedFeedEmailMicrosoft.model_rebuild()
GetFeedFeedIssue.model_rebuild()
GetFeedFeedIssueJira.model_rebuild()
GetFeedFeedIssueLinear.model_rebuild()
GetFeedFeedIssueGithub.model_rebuild()
GetFeedFeedIssueIntercom.model_rebuild()
GetFeedFeedIssueZendesk.model_rebuild()
GetFeedFeedIssueAttio.model_rebuild()
GetFeedFeedIssueSalesforce.model_rebuild()
GetFeedFeedIssueHubSpot.model_rebuild()
GetFeedFeedInitiative.model_rebuild()
GetFeedFeedInitiativeJira.model_rebuild()
GetFeedFeedInitiativeGithub.model_rebuild()
GetFeedFeedInitiativeLinear.model_rebuild()
GetFeedFeedCommit.model_rebuild()
GetFeedFeedCommitGithub.model_rebuild()
GetFeedFeedPullRequest.model_rebuild()
GetFeedFeedPullRequestGithub.model_rebuild()
GetFeedFeedCrm.model_rebuild()
GetFeedFeedCrmAttio.model_rebuild()
GetFeedFeedCrmGoogleContacts.model_rebuild()
GetFeedFeedCrmMicrosoftContacts.model_rebuild()
GetFeedFeedCrmSalesforce.model_rebuild()
GetFeedFeedCrmHubSpot.model_rebuild()
GetFeedFeedHris.model_rebuild()
GetFeedFeedCalendar.model_rebuild()
GetFeedFeedCalendarGoogle.model_rebuild()
GetFeedFeedCalendarMicrosoft.model_rebuild()
GetFeedFeedMeeting.model_rebuild()
GetFeedFeedMeetingAttio.model_rebuild()
GetFeedFeedMeetingHubSpot.model_rebuild()
GetFeedFeedSearch.model_rebuild()
GetFeedFeedNotion.model_rebuild()
GetFeedFeedConfluence.model_rebuild()
GetFeedFeedIntercom.model_rebuild()
GetFeedFeedZendesk.model_rebuild()
GetFeedFeedTwitter.model_rebuild()
GetFeedFeedSlack.model_rebuild()
GetFeedFeedMicrosoftTeams.model_rebuild()
GetFeedFeedAttio.model_rebuild()
GetFeedFeedSalesforce.model_rebuild()
GetFeedFeedHubSpotConversations.model_rebuild()
GetFeedFeedIntercomConversations.model_rebuild()
GetFeedFeedResearch.model_rebuild()
GetFeedFeedEntity.model_rebuild()
GetFeedFeedEntityCrustdata.model_rebuild()
