"""DO NOT EDIT THIS FILE!

This file is auto generated by github rest api description.
See https://github.com/github/rest-api-description for more information.
"""


from __future__ import annotations

from datetime import date, datetime
from typing import Any, List, Union, Literal
from typing_extensions import TypedDict, NotRequired


class RootType(TypedDict):
    """Root"""

    current_user_url: str
    current_user_authorizations_html_url: str
    authorizations_url: str
    code_search_url: str
    commit_search_url: str
    emails_url: str
    emojis_url: str
    events_url: str
    feeds_url: str
    followers_url: str
    following_url: str
    gists_url: str
    hub_url: str
    issue_search_url: str
    issues_url: str
    keys_url: str
    label_search_url: str
    notifications_url: str
    organization_url: str
    organization_repositories_url: str
    organization_teams_url: str
    public_gists_url: str
    rate_limit_url: str
    repository_url: str
    repository_search_url: str
    current_user_repositories_url: str
    starred_url: str
    starred_gists_url: str
    topic_search_url: NotRequired[str]
    user_url: str
    user_organizations_url: str
    user_repositories_url: str
    user_search_url: str


class SimpleUserType(TypedDict):
    """Simple User

    Simple User
    """

    name: NotRequired[Union[str, None]]
    email: NotRequired[Union[str, None]]
    login: str
    id: int
    node_id: str
    avatar_url: str
    gravatar_id: Union[str, None]
    url: str
    html_url: str
    followers_url: str
    following_url: str
    gists_url: str
    starred_url: str
    subscriptions_url: str
    organizations_url: str
    repos_url: str
    events_url: str
    received_events_url: str
    type: str
    site_admin: bool
    starred_at: NotRequired[str]


class IntegrationType(TypedDict):
    """GitHub app

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    id: int
    slug: NotRequired[str]
    node_id: str
    owner: Union[None, SimpleUserType]
    name: str
    description: Union[str, None]
    external_url: str
    html_url: str
    created_at: datetime
    updated_at: datetime
    permissions: IntegrationPropPermissionsType
    events: List[str]
    installations_count: NotRequired[int]
    client_id: NotRequired[str]
    client_secret: NotRequired[str]
    webhook_secret: NotRequired[Union[str, None]]
    pem: NotRequired[str]


class IntegrationPropPermissionsType(TypedDict):
    """IntegrationPropPermissions

    The set of permissions for the GitHub app

    Examples:
        {'issues': 'read', 'deployments': 'write'}
    """

    issues: NotRequired[str]
    checks: NotRequired[str]
    metadata: NotRequired[str]
    contents: NotRequired[str]
    deployments: NotRequired[str]


class BasicErrorType(TypedDict):
    """Basic Error

    Basic Error
    """

    message: NotRequired[str]
    documentation_url: NotRequired[str]
    url: NotRequired[str]
    status: NotRequired[str]


class ValidationErrorSimpleType(TypedDict):
    """Validation Error Simple

    Validation Error Simple
    """

    message: str
    documentation_url: str
    errors: NotRequired[List[str]]


class WebhookConfigType(TypedDict):
    """Webhook Configuration

    Configuration object of the webhook
    """

    url: NotRequired[str]
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]


class HookDeliveryItemType(TypedDict):
    """Simple webhook delivery

    Delivery made by a webhook, without request and response information.
    """

    id: int
    guid: str
    delivered_at: datetime
    redelivery: bool
    duration: float
    status: str
    status_code: int
    event: str
    action: Union[str, None]
    installation_id: Union[int, None]
    repository_id: Union[int, None]


class ScimErrorType(TypedDict):
    """Scim Error

    Scim Error
    """

    message: NotRequired[Union[str, None]]
    documentation_url: NotRequired[Union[str, None]]
    detail: NotRequired[Union[str, None]]
    status: NotRequired[int]
    scim_type: NotRequired[Union[str, None]]
    schemas: NotRequired[List[str]]


class ValidationErrorType(TypedDict):
    """Validation Error

    Validation Error
    """

    message: str
    documentation_url: str
    errors: NotRequired[List[ValidationErrorPropErrorsItemsType]]


class ValidationErrorPropErrorsItemsType(TypedDict):
    """ValidationErrorPropErrorsItems"""

    resource: NotRequired[str]
    field: NotRequired[str]
    message: NotRequired[str]
    code: str
    index: NotRequired[int]
    value: NotRequired[Union[str, None, int, None, List[str], None]]


class HookDeliveryType(TypedDict):
    """Webhook delivery

    Delivery made by a webhook.
    """

    id: int
    guid: str
    delivered_at: datetime
    redelivery: bool
    duration: float
    status: str
    status_code: int
    event: str
    action: Union[str, None]
    installation_id: Union[int, None]
    repository_id: Union[int, None]
    url: NotRequired[str]
    request: HookDeliveryPropRequestType
    response: HookDeliveryPropResponseType


class HookDeliveryPropRequestType(TypedDict):
    """HookDeliveryPropRequest"""

    headers: Union[HookDeliveryPropRequestPropHeadersType, None]
    payload: Union[HookDeliveryPropRequestPropPayloadType, None]


class HookDeliveryPropRequestPropHeadersType(TypedDict):
    """HookDeliveryPropRequestPropHeaders

    The request headers sent with the webhook delivery.
    """


class HookDeliveryPropRequestPropPayloadType(TypedDict):
    """HookDeliveryPropRequestPropPayload

    The webhook payload.
    """


class HookDeliveryPropResponseType(TypedDict):
    """HookDeliveryPropResponse"""

    headers: Union[HookDeliveryPropResponsePropHeadersType, None]
    payload: Union[str, None]


class HookDeliveryPropResponsePropHeadersType(TypedDict):
    """HookDeliveryPropResponsePropHeaders

    The response headers received when the delivery was made.
    """


class EnterpriseType(TypedDict):
    """Enterprise

    An enterprise account
    """

    description: NotRequired[Union[str, None]]
    html_url: str
    website_url: NotRequired[Union[str, None]]
    id: int
    node_id: str
    name: str
    slug: str
    created_at: Union[datetime, None]
    updated_at: Union[datetime, None]
    avatar_url: str


class AppPermissionsType(TypedDict):
    """App Permissions

    The permissions granted to the user-to-server access token.

    Examples:
        {'contents': 'read', 'issues': 'read', 'deployments': 'write', 'single_file':
    'read'}
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_announcement_banners: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write", "admin"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["write"]]
    members: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_custom_roles: NotRequired[Literal["read", "write"]]
    organization_announcement_banners: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]


class InstallationType(TypedDict):
    """Installation

    Installation
    """

    id: int
    account: Union[SimpleUserType, EnterpriseType, None]
    repository_selection: Literal["all", "selected"]
    access_tokens_url: str
    repositories_url: str
    html_url: str
    app_id: int
    target_id: int
    target_type: str
    permissions: AppPermissionsType
    events: List[str]
    created_at: datetime
    updated_at: datetime
    single_file_name: Union[str, None]
    has_multiple_single_files: NotRequired[bool]
    single_file_paths: NotRequired[List[str]]
    app_slug: str
    suspended_by: Union[None, SimpleUserType]
    suspended_at: Union[datetime, None]
    contact_email: NotRequired[Union[str, None]]


class LicenseSimpleType(TypedDict):
    """License Simple

    License Simple
    """

    key: str
    name: str
    url: Union[str, None]
    spdx_id: Union[str, None]
    node_id: str
    html_url: NotRequired[str]


class RepositoryType(TypedDict):
    """Repository

    A git repository
    """

    id: int
    node_id: str
    name: str
    full_name: str
    license_: Union[None, LicenseSimpleType]
    organization: NotRequired[Union[None, SimpleUserType]]
    forks: int
    permissions: NotRequired[RepositoryPropPermissionsType]
    owner: SimpleUserType
    private: bool
    html_url: str
    description: Union[str, None]
    fork: bool
    url: str
    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    downloads_url: str
    events_url: str
    forks_url: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    notifications_url: str
    pulls_url: str
    releases_url: str
    ssh_url: str
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    clone_url: str
    mirror_url: Union[str, None]
    hooks_url: str
    svn_url: str
    homepage: Union[str, None]
    language: Union[str, None]
    forks_count: int
    stargazers_count: int
    watchers_count: int
    size: int
    default_branch: str
    open_issues_count: int
    is_template: NotRequired[bool]
    topics: NotRequired[List[str]]
    has_issues: bool
    has_projects: bool
    has_wiki: bool
    has_pages: bool
    has_downloads: bool
    archived: bool
    disabled: bool
    visibility: NotRequired[str]
    pushed_at: Union[datetime, None]
    created_at: Union[datetime, None]
    updated_at: Union[datetime, None]
    allow_rebase_merge: NotRequired[bool]
    template_repository: NotRequired[Union[RepositoryPropTemplateRepositoryType, None]]
    temp_clone_token: NotRequired[str]
    allow_squash_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    use_squash_pr_title_as_default: NotRequired[bool]
    squash_merge_commit_title: NotRequired[Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]]
    squash_merge_commit_message: NotRequired[
        Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ]
    merge_commit_title: NotRequired[Literal["PR_TITLE", "MERGE_MESSAGE"]]
    merge_commit_message: NotRequired[Literal["PR_BODY", "PR_TITLE", "BLANK"]]
    allow_merge_commit: NotRequired[bool]
    allow_forking: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]
    subscribers_count: NotRequired[int]
    network_count: NotRequired[int]
    open_issues: int
    watchers: int
    master_branch: NotRequired[str]
    starred_at: NotRequired[str]
    anonymous_access_enabled: NotRequired[bool]


class RepositoryPropPermissionsType(TypedDict):
    """RepositoryPropPermissions"""

    admin: bool
    pull: bool
    triage: NotRequired[bool]
    push: bool
    maintain: NotRequired[bool]


class RepositoryPropTemplateRepositoryPropOwnerType(TypedDict):
    """RepositoryPropTemplateRepositoryPropOwner"""

    login: NotRequired[str]
    id: NotRequired[int]
    node_id: NotRequired[str]
    avatar_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    url: NotRequired[str]
    html_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    organizations_url: NotRequired[str]
    repos_url: NotRequired[str]
    events_url: NotRequired[str]
    received_events_url: NotRequired[str]
    type: NotRequired[str]
    site_admin: NotRequired[bool]


class RepositoryPropTemplateRepositoryPropPermissionsType(TypedDict):
    """RepositoryPropTemplateRepositoryPropPermissions"""

    admin: NotRequired[bool]
    maintain: NotRequired[bool]
    push: NotRequired[bool]
    triage: NotRequired[bool]
    pull: NotRequired[bool]


class RepositoryPropTemplateRepositoryType(TypedDict):
    """RepositoryPropTemplateRepository"""

    id: NotRequired[int]
    node_id: NotRequired[str]
    name: NotRequired[str]
    full_name: NotRequired[str]
    owner: NotRequired[RepositoryPropTemplateRepositoryPropOwnerType]
    private: NotRequired[bool]
    html_url: NotRequired[str]
    description: NotRequired[str]
    fork: NotRequired[bool]
    url: NotRequired[str]
    archive_url: NotRequired[str]
    assignees_url: NotRequired[str]
    blobs_url: NotRequired[str]
    branches_url: NotRequired[str]
    collaborators_url: NotRequired[str]
    comments_url: NotRequired[str]
    commits_url: NotRequired[str]
    compare_url: NotRequired[str]
    contents_url: NotRequired[str]
    contributors_url: NotRequired[str]
    deployments_url: NotRequired[str]
    downloads_url: NotRequired[str]
    events_url: NotRequired[str]
    forks_url: NotRequired[str]
    git_commits_url: NotRequired[str]
    git_refs_url: NotRequired[str]
    git_tags_url: NotRequired[str]
    git_url: NotRequired[str]
    issue_comment_url: NotRequired[str]
    issue_events_url: NotRequired[str]
    issues_url: NotRequired[str]
    keys_url: NotRequired[str]
    labels_url: NotRequired[str]
    languages_url: NotRequired[str]
    merges_url: NotRequired[str]
    milestones_url: NotRequired[str]
    notifications_url: NotRequired[str]
    pulls_url: NotRequired[str]
    releases_url: NotRequired[str]
    ssh_url: NotRequired[str]
    stargazers_url: NotRequired[str]
    statuses_url: NotRequired[str]
    subscribers_url: NotRequired[str]
    subscription_url: NotRequired[str]
    tags_url: NotRequired[str]
    teams_url: NotRequired[str]
    trees_url: NotRequired[str]
    clone_url: NotRequired[str]
    mirror_url: NotRequired[str]
    hooks_url: NotRequired[str]
    svn_url: NotRequired[str]
    homepage: NotRequired[str]
    language: NotRequired[str]
    forks_count: NotRequired[int]
    stargazers_count: NotRequired[int]
    watchers_count: NotRequired[int]
    size: NotRequired[int]
    default_branch: NotRequired[str]
    open_issues_count: NotRequired[int]
    is_template: NotRequired[bool]
    topics: NotRequired[List[str]]
    has_issues: NotRequired[bool]
    has_projects: NotRequired[bool]
    has_wiki: NotRequired[bool]
    has_pages: NotRequired[bool]
    has_downloads: NotRequired[bool]
    archived: NotRequired[bool]
    disabled: NotRequired[bool]
    visibility: NotRequired[str]
    pushed_at: NotRequired[str]
    created_at: NotRequired[str]
    updated_at: NotRequired[str]
    permissions: NotRequired[RepositoryPropTemplateRepositoryPropPermissionsType]
    allow_rebase_merge: NotRequired[bool]
    temp_clone_token: NotRequired[str]
    allow_squash_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    use_squash_pr_title_as_default: NotRequired[bool]
    squash_merge_commit_title: NotRequired[Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]]
    squash_merge_commit_message: NotRequired[
        Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ]
    merge_commit_title: NotRequired[Literal["PR_TITLE", "MERGE_MESSAGE"]]
    merge_commit_message: NotRequired[Literal["PR_BODY", "PR_TITLE", "BLANK"]]
    allow_merge_commit: NotRequired[bool]
    subscribers_count: NotRequired[int]
    network_count: NotRequired[int]


class InstallationTokenType(TypedDict):
    """Installation Token

    Authentication token for a GitHub App installed on a user or org.
    """

    token: str
    expires_at: str
    permissions: NotRequired[AppPermissionsType]
    repository_selection: NotRequired[Literal["all", "selected"]]
    repositories: NotRequired[List[RepositoryType]]
    single_file: NotRequired[str]
    has_multiple_single_files: NotRequired[bool]
    single_file_paths: NotRequired[List[str]]


class ScopedInstallationType(TypedDict):
    """Scoped Installation"""

    permissions: AppPermissionsType
    repository_selection: Literal["all", "selected"]
    single_file_name: Union[str, None]
    has_multiple_single_files: NotRequired[bool]
    single_file_paths: NotRequired[List[str]]
    repositories_url: str
    account: SimpleUserType


class AuthorizationType(TypedDict):
    """Authorization

    The authorization for an OAuth app, GitHub App, or a Personal Access Token.
    """

    id: int
    url: str
    scopes: Union[List[str], None]
    token: str
    token_last_eight: Union[str, None]
    hashed_token: Union[str, None]
    app: AuthorizationPropAppType
    note: Union[str, None]
    note_url: Union[str, None]
    updated_at: datetime
    created_at: datetime
    fingerprint: Union[str, None]
    user: NotRequired[Union[None, SimpleUserType]]
    installation: NotRequired[Union[None, ScopedInstallationType]]
    expires_at: Union[datetime, None]


class AuthorizationPropAppType(TypedDict):
    """AuthorizationPropApp"""

    client_id: str
    name: str
    url: str


class CodeOfConductType(TypedDict):
    """Code Of Conduct

    Code Of Conduct
    """

    key: str
    name: str
    url: str
    body: NotRequired[str]
    html_url: Union[str, None]


class ServerStatisticsItemsType(TypedDict):
    """ServerStatisticsItems"""

    server_id: NotRequired[str]
    collection_date: NotRequired[str]
    schema_version: NotRequired[str]
    ghes_version: NotRequired[str]
    host_name: NotRequired[str]
    github_connect: NotRequired[ServerStatisticsItemsPropGithubConnectType]
    ghe_stats: NotRequired[ServerStatisticsItemsPropGheStatsType]
    dormant_users: NotRequired[ServerStatisticsItemsPropDormantUsersType]


class ServerStatisticsItemsPropGithubConnectType(TypedDict):
    """ServerStatisticsItemsPropGithubConnect"""

    features_enabled: NotRequired[List[str]]


class ServerStatisticsItemsPropGheStatsType(TypedDict):
    """ServerStatisticsItemsPropGheStats"""

    comments: NotRequired[ServerStatisticsItemsPropGheStatsPropCommentsType]
    gists: NotRequired[ServerStatisticsItemsPropGheStatsPropGistsType]
    hooks: NotRequired[ServerStatisticsItemsPropGheStatsPropHooksType]
    issues: NotRequired[ServerStatisticsItemsPropGheStatsPropIssuesType]
    milestones: NotRequired[ServerStatisticsItemsPropGheStatsPropMilestonesType]
    orgs: NotRequired[ServerStatisticsItemsPropGheStatsPropOrgsType]
    pages: NotRequired[ServerStatisticsItemsPropGheStatsPropPagesType]
    pulls: NotRequired[ServerStatisticsItemsPropGheStatsPropPullsType]
    repos: NotRequired[ServerStatisticsItemsPropGheStatsPropReposType]
    users: NotRequired[ServerStatisticsItemsPropGheStatsPropUsersType]


class ServerStatisticsItemsPropGheStatsPropCommentsType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropComments"""

    total_commit_comments: NotRequired[int]
    total_gist_comments: NotRequired[int]
    total_issue_comments: NotRequired[int]
    total_pull_request_comments: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropGistsType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropGists"""

    total_gists: NotRequired[int]
    private_gists: NotRequired[int]
    public_gists: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropHooksType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropHooks"""

    total_hooks: NotRequired[int]
    active_hooks: NotRequired[int]
    inactive_hooks: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropIssuesType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropIssues"""

    total_issues: NotRequired[int]
    open_issues: NotRequired[int]
    closed_issues: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropMilestonesType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropMilestones"""

    total_milestones: NotRequired[int]
    open_milestones: NotRequired[int]
    closed_milestones: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropOrgsType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropOrgs"""

    total_orgs: NotRequired[int]
    disabled_orgs: NotRequired[int]
    total_teams: NotRequired[int]
    total_team_members: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropPagesType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropPages"""

    total_pages: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropPullsType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropPulls"""

    total_pulls: NotRequired[int]
    merged_pulls: NotRequired[int]
    mergeable_pulls: NotRequired[int]
    unmergeable_pulls: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropReposType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropRepos"""

    total_repos: NotRequired[int]
    root_repos: NotRequired[int]
    fork_repos: NotRequired[int]
    org_repos: NotRequired[int]
    total_pushes: NotRequired[int]
    total_wikis: NotRequired[int]


class ServerStatisticsItemsPropGheStatsPropUsersType(TypedDict):
    """ServerStatisticsItemsPropGheStatsPropUsers"""

    total_users: NotRequired[int]
    admin_users: NotRequired[int]
    suspended_users: NotRequired[int]


class ServerStatisticsItemsPropDormantUsersType(TypedDict):
    """ServerStatisticsItemsPropDormantUsers"""

    total_dormant_users: NotRequired[int]
    dormancy_threshold: NotRequired[str]


class ActionsCacheUsageOrgEnterpriseType(TypedDict):
    """ActionsCacheUsageOrgEnterprise"""

    total_active_caches_count: int
    total_active_caches_size_in_bytes: int


class ActionsEnterprisePermissionsType(TypedDict):
    """ActionsEnterprisePermissions"""

    enabled_organizations: Literal["all", "none", "selected"]
    selected_organizations_url: NotRequired[str]
    allowed_actions: NotRequired[Literal["all", "local_only", "selected"]]
    selected_actions_url: NotRequired[str]


class OrganizationSimpleType(TypedDict):
    """Organization Simple

    Organization Simple
    """

    login: str
    id: int
    node_id: str
    url: str
    repos_url: str
    events_url: str
    hooks_url: str
    issues_url: str
    members_url: str
    public_members_url: str
    avatar_url: str
    description: Union[str, None]


class SelectedActionsType(TypedDict):
    """SelectedActions"""

    github_owned_allowed: NotRequired[bool]
    verified_allowed: NotRequired[bool]
    patterns_allowed: NotRequired[List[str]]


class ActionsGetDefaultWorkflowPermissionsType(TypedDict):
    """ActionsGetDefaultWorkflowPermissions"""

    default_workflow_permissions: Literal["read", "write"]
    can_approve_pull_request_reviews: bool


class ActionsSetDefaultWorkflowPermissionsType(TypedDict):
    """ActionsSetDefaultWorkflowPermissions"""

    default_workflow_permissions: NotRequired[Literal["read", "write"]]
    can_approve_pull_request_reviews: NotRequired[bool]


class RunnerGroupsEnterpriseType(TypedDict):
    """RunnerGroupsEnterprise"""

    id: float
    name: str
    visibility: str
    default: bool
    selected_organizations_url: NotRequired[str]
    runners_url: str
    allows_public_repositories: bool
    workflow_restrictions_read_only: NotRequired[bool]
    restricted_to_workflows: NotRequired[bool]
    selected_workflows: NotRequired[List[str]]


class RunnerLabelType(TypedDict):
    """Self hosted runner label

    A label for a self hosted runner
    """

    id: NotRequired[int]
    name: str
    type: NotRequired[Literal["read-only", "custom"]]


class RunnerType(TypedDict):
    """Self hosted runners

    A self hosted runner
    """

    id: int
    name: str
    os: str
    status: str
    busy: bool
    labels: List[RunnerLabelType]


class RunnerApplicationType(TypedDict):
    """Runner Application

    Runner Application
    """

    os: str
    architecture: str
    download_url: str
    filename: str
    temp_download_token: NotRequired[str]
    sha256_checksum: NotRequired[str]


class AuthenticationTokenType(TypedDict):
    """Authentication Token

    Authentication Token
    """

    token: str
    expires_at: datetime
    permissions: NotRequired[AuthenticationTokenPropPermissionsType]
    repositories: NotRequired[List[RepositoryType]]
    single_file: NotRequired[Union[str, None]]
    repository_selection: NotRequired[Literal["all", "selected"]]


class AuthenticationTokenPropPermissionsType(TypedDict):
    """AuthenticationTokenPropPermissions

    Examples:
        {'issues': 'read', 'deployments': 'write'}
    """


class CodeScanningAlertRuleType(TypedDict):
    """CodeScanningAlertRule"""

    id: NotRequired[Union[str, None]]
    name: NotRequired[str]
    severity: NotRequired[Union[None, Literal["none", "note", "warning", "error"]]]
    security_severity_level: NotRequired[
        Union[None, Literal["low", "medium", "high", "critical"]]
    ]
    description: NotRequired[str]
    full_description: NotRequired[str]
    tags: NotRequired[Union[List[str], None]]
    help_: NotRequired[Union[str, None]]
    help_uri: NotRequired[Union[str, None]]


class CodeScanningAnalysisToolType(TypedDict):
    """CodeScanningAnalysisTool"""

    name: NotRequired[str]
    version: NotRequired[Union[str, None]]
    guid: NotRequired[Union[str, None]]


class CodeScanningAlertLocationType(TypedDict):
    """CodeScanningAlertLocation

    Describe a region within a file for the alert.
    """

    path: NotRequired[str]
    start_line: NotRequired[int]
    end_line: NotRequired[int]
    start_column: NotRequired[int]
    end_column: NotRequired[int]


class CodeScanningAlertInstanceType(TypedDict):
    """CodeScanningAlertInstance"""

    ref: NotRequired[str]
    analysis_key: NotRequired[str]
    environment: NotRequired[str]
    category: NotRequired[str]
    state: NotRequired[Literal["open", "closed", "dismissed", "fixed"]]
    commit_sha: NotRequired[str]
    message: NotRequired[CodeScanningAlertInstancePropMessageType]
    location: NotRequired[CodeScanningAlertLocationType]
    html_url: NotRequired[str]
    classifications: NotRequired[
        List[Union[None, Literal["source", "generated", "test", "library"]]]
    ]


class CodeScanningAlertInstancePropMessageType(TypedDict):
    """CodeScanningAlertInstancePropMessage"""

    text: NotRequired[str]


class SimpleRepositoryType(TypedDict):
    """Simple Repository

    Simple Repository
    """

    id: int
    node_id: str
    name: str
    full_name: str
    owner: SimpleUserType
    private: bool
    html_url: str
    description: Union[str, None]
    fork: bool
    url: str
    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    downloads_url: str
    events_url: str
    forks_url: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    notifications_url: str
    pulls_url: str
    releases_url: str
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    hooks_url: str


class CodeScanningOrganizationAlertItemsType(TypedDict):
    """CodeScanningOrganizationAlertItems"""

    number: int
    created_at: datetime
    updated_at: NotRequired[datetime]
    url: str
    html_url: str
    instances_url: str
    state: Literal["open", "closed", "dismissed", "fixed"]
    fixed_at: NotRequired[Union[datetime, None]]
    dismissed_by: Union[None, SimpleUserType]
    dismissed_at: Union[datetime, None]
    dismissed_reason: Union[
        None, Literal["false positive", "won't fix", "used in tests"]
    ]
    dismissed_comment: NotRequired[Union[str, None]]
    rule: CodeScanningAlertRuleType
    tool: CodeScanningAnalysisToolType
    most_recent_instance: CodeScanningAlertInstanceType
    repository: SimpleRepositoryType


class OrganizationSecretScanningAlertType(TypedDict):
    """OrganizationSecretScanningAlert"""

    number: NotRequired[int]
    created_at: NotRequired[datetime]
    updated_at: NotRequired[Union[None, datetime]]
    url: NotRequired[str]
    html_url: NotRequired[str]
    locations_url: NotRequired[str]
    state: NotRequired[Literal["open", "resolved"]]
    resolution: NotRequired[
        Union[None, Literal["false_positive", "wont_fix", "revoked", "used_in_tests"]]
    ]
    resolved_at: NotRequired[Union[datetime, None]]
    resolved_by: NotRequired[Union[None, SimpleUserType]]
    secret_type: NotRequired[str]
    secret_type_display_name: NotRequired[str]
    secret: NotRequired[str]
    repository: NotRequired[SimpleRepositoryType]
    push_protection_bypassed: NotRequired[Union[bool, None]]
    push_protection_bypassed_by: NotRequired[Union[None, SimpleUserType]]
    push_protection_bypassed_at: NotRequired[Union[datetime, None]]
    resolution_comment: NotRequired[Union[str, None]]


class AdvancedSecurityActiveCommittersUserType(TypedDict):
    """AdvancedSecurityActiveCommittersUser"""

    user_login: str
    last_pushed_date: str


class AdvancedSecurityActiveCommittersRepositoryType(TypedDict):
    """AdvancedSecurityActiveCommittersRepository"""

    name: str
    advanced_security_committers: int
    advanced_security_committers_breakdown: List[
        AdvancedSecurityActiveCommittersUserType
    ]


class AdvancedSecurityActiveCommittersType(TypedDict):
    """AdvancedSecurityActiveCommitters"""

    total_advanced_security_committers: NotRequired[int]
    total_count: NotRequired[int]
    repositories: List[AdvancedSecurityActiveCommittersRepositoryType]


class ActorType(TypedDict):
    """Actor

    Actor
    """

    id: int
    login: str
    display_login: NotRequired[str]
    gravatar_id: Union[str, None]
    url: str
    avatar_url: str


class MilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    url: str
    html_url: str
    labels_url: str
    id: int
    node_id: str
    number: int
    state: Literal["open", "closed"]
    title: str
    description: Union[str, None]
    creator: Union[None, SimpleUserType]
    open_issues: int
    closed_issues: int
    created_at: datetime
    updated_at: datetime
    closed_at: Union[datetime, None]
    due_on: Union[datetime, None]


class ReactionRollupType(TypedDict):
    """Reaction Rollup"""

    url: str
    total_count: int
    plus_one: int
    minus_one: int
    laugh: int
    confused: int
    heart: int
    hooray: int
    eyes: int
    rocket: int


class IssueType(TypedDict):
    """Issue

    Issues are a great way to keep track of tasks, enhancements, and bugs for your
    projects.
    """

    id: int
    node_id: str
    url: str
    repository_url: str
    labels_url: str
    comments_url: str
    events_url: str
    html_url: str
    number: int
    state: str
    state_reason: NotRequired[
        Union[None, Literal["completed", "reopened", "not_planned"]]
    ]
    title: str
    body: NotRequired[Union[str, None]]
    user: Union[None, SimpleUserType]
    labels: List[Union[str, IssuePropLabelsItemsOneof1Type]]
    assignee: Union[None, SimpleUserType]
    assignees: NotRequired[Union[List[SimpleUserType], None]]
    milestone: Union[None, MilestoneType]
    locked: bool
    active_lock_reason: NotRequired[Union[str, None]]
    comments: int
    pull_request: NotRequired[IssuePropPullRequestType]
    closed_at: Union[datetime, None]
    created_at: datetime
    updated_at: datetime
    draft: NotRequired[bool]
    closed_by: NotRequired[Union[None, SimpleUserType]]
    body_html: NotRequired[Union[str, None]]
    body_text: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    repository: NotRequired[RepositoryType]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    reactions: NotRequired[ReactionRollupType]


class IssuePropLabelsItemsOneof1Type(TypedDict):
    """IssuePropLabelsItemsOneof1"""

    id: NotRequired[int]
    node_id: NotRequired[str]
    url: NotRequired[str]
    name: NotRequired[str]
    description: NotRequired[Union[str, None]]
    color: NotRequired[Union[str, None]]
    default: NotRequired[bool]


class IssuePropPullRequestType(TypedDict):
    """IssuePropPullRequest"""

    merged_at: NotRequired[Union[datetime, None]]
    diff_url: Union[str, None]
    html_url: Union[str, None]
    patch_url: Union[str, None]
    url: Union[str, None]


class IssueCommentType(TypedDict):
    """Issue Comment

    Comments provide a way for people to collaborate on an issue.
    """

    id: int
    node_id: str
    url: str
    body: NotRequired[str]
    body_text: NotRequired[str]
    body_html: NotRequired[str]
    html_url: str
    user: Union[None, SimpleUserType]
    created_at: datetime
    updated_at: datetime
    issue_url: str
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]
    reactions: NotRequired[ReactionRollupType]


class EventType(TypedDict):
    """Event

    Event
    """

    id: str
    type: Union[str, None]
    actor: ActorType
    repo: EventPropRepoType
    org: NotRequired[ActorType]
    payload: EventPropPayloadType
    public: bool
    created_at: Union[datetime, None]


class EventPropRepoType(TypedDict):
    """EventPropRepo"""

    id: int
    name: str
    url: str


class EventPropPayloadType(TypedDict):
    """EventPropPayload"""

    action: NotRequired[str]
    issue: NotRequired[IssueType]
    comment: NotRequired[IssueCommentType]
    pages: NotRequired[List[EventPropPayloadPropPagesItemsType]]


class EventPropPayloadPropPagesItemsType(TypedDict):
    """EventPropPayloadPropPagesItems"""

    page_name: NotRequired[str]
    title: NotRequired[str]
    summary: NotRequired[Union[str, None]]
    action: NotRequired[str]
    sha: NotRequired[str]
    html_url: NotRequired[str]


class LinkWithTypeType(TypedDict):
    """Link With Type

    Hypermedia Link with Type
    """

    href: str
    type: str


class FeedType(TypedDict):
    """Feed

    Feed
    """

    timeline_url: str
    user_url: str
    current_user_public_url: NotRequired[str]
    current_user_url: NotRequired[str]
    current_user_actor_url: NotRequired[str]
    current_user_organization_url: NotRequired[str]
    current_user_organization_urls: NotRequired[List[str]]
    security_advisories_url: NotRequired[str]
    links: FeedPropLinksType


class FeedPropLinksType(TypedDict):
    """FeedPropLinks"""

    timeline: LinkWithTypeType
    user: LinkWithTypeType
    security_advisories: NotRequired[LinkWithTypeType]
    current_user: NotRequired[LinkWithTypeType]
    current_user_public: NotRequired[LinkWithTypeType]
    current_user_actor: NotRequired[LinkWithTypeType]
    current_user_organization: NotRequired[LinkWithTypeType]
    current_user_organizations: NotRequired[List[LinkWithTypeType]]


class BaseGistType(TypedDict):
    """Base Gist

    Base Gist
    """

    url: str
    forks_url: str
    commits_url: str
    id: str
    node_id: str
    git_pull_url: str
    git_push_url: str
    html_url: str
    files: BaseGistPropFilesType
    public: bool
    created_at: datetime
    updated_at: datetime
    description: Union[str, None]
    comments: int
    user: Union[None, SimpleUserType]
    comments_url: str
    owner: NotRequired[SimpleUserType]
    truncated: NotRequired[bool]
    forks: NotRequired[List[Any]]
    history: NotRequired[List[Any]]


class BaseGistPropFilesType(TypedDict):
    """BaseGistPropFiles"""


class PublicUserType(TypedDict):
    """Public User

    Public User
    """

    login: str
    id: int
    node_id: str
    avatar_url: str
    gravatar_id: Union[str, None]
    url: str
    html_url: str
    followers_url: str
    following_url: str
    gists_url: str
    starred_url: str
    subscriptions_url: str
    organizations_url: str
    repos_url: str
    events_url: str
    received_events_url: str
    type: str
    site_admin: bool
    name: Union[str, None]
    company: Union[str, None]
    blog: Union[str, None]
    location: Union[str, None]
    email: Union[str, None]
    hireable: Union[bool, None]
    bio: Union[str, None]
    twitter_username: NotRequired[Union[str, None]]
    public_repos: int
    public_gists: int
    followers: int
    following: int
    created_at: datetime
    updated_at: datetime
    plan: NotRequired[PublicUserPropPlanType]
    suspended_at: NotRequired[Union[datetime, None]]
    private_gists: NotRequired[int]
    total_private_repos: NotRequired[int]
    owned_private_repos: NotRequired[int]
    disk_usage: NotRequired[int]
    collaborators: NotRequired[int]


class PublicUserPropPlanType(TypedDict):
    """PublicUserPropPlan"""

    collaborators: int
    name: str
    space: int
    private_repos: int


class GistHistoryType(TypedDict):
    """Gist History

    Gist History
    """

    user: NotRequired[Union[None, SimpleUserType]]
    version: NotRequired[str]
    committed_at: NotRequired[datetime]
    change_status: NotRequired[GistHistoryPropChangeStatusType]
    url: NotRequired[str]


class GistHistoryPropChangeStatusType(TypedDict):
    """GistHistoryPropChangeStatus"""

    total: NotRequired[int]
    additions: NotRequired[int]
    deletions: NotRequired[int]


class GistSimpleType(TypedDict):
    """Gist Simple

    Gist Simple
    """

    forks: NotRequired[Union[List[GistSimplePropForksItemsType], None]]
    history: NotRequired[Union[List[GistHistoryType], None]]
    fork_of: NotRequired[Union[GistSimplePropForkOfType, None]]
    url: NotRequired[str]
    forks_url: NotRequired[str]
    commits_url: NotRequired[str]
    id: NotRequired[str]
    node_id: NotRequired[str]
    git_pull_url: NotRequired[str]
    git_push_url: NotRequired[str]
    html_url: NotRequired[str]
    files: NotRequired[GistSimplePropFilesType]
    public: NotRequired[bool]
    created_at: NotRequired[str]
    updated_at: NotRequired[str]
    description: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    user: NotRequired[Union[str, None]]
    comments_url: NotRequired[str]
    owner: NotRequired[SimpleUserType]
    truncated: NotRequired[bool]


class GistSimplePropForksItemsType(TypedDict):
    """GistSimplePropForksItems"""

    id: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[PublicUserType]
    created_at: NotRequired[datetime]
    updated_at: NotRequired[datetime]


class GistSimplePropForkOfPropFilesType(TypedDict):
    """GistSimplePropForkOfPropFiles"""


class GistSimplePropForkOfType(TypedDict):
    """Gist

    Gist
    """

    url: str
    forks_url: str
    commits_url: str
    id: str
    node_id: str
    git_pull_url: str
    git_push_url: str
    html_url: str
    files: GistSimplePropForkOfPropFilesType
    public: bool
    created_at: datetime
    updated_at: datetime
    description: Union[str, None]
    comments: int
    user: Union[None, SimpleUserType]
    comments_url: str
    owner: NotRequired[Union[None, SimpleUserType]]
    truncated: NotRequired[bool]
    forks: NotRequired[List[Any]]
    history: NotRequired[List[Any]]


class GistSimplePropFilesType(TypedDict):
    """GistSimplePropFiles"""


class GistCommentType(TypedDict):
    """Gist Comment

    A comment made to a gist.
    """

    id: int
    node_id: str
    url: str
    body: str
    user: Union[None, SimpleUserType]
    created_at: datetime
    updated_at: datetime
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]


class GistCommitType(TypedDict):
    """Gist Commit

    Gist Commit
    """

    url: str
    version: str
    user: Union[None, SimpleUserType]
    change_status: GistCommitPropChangeStatusType
    committed_at: datetime


class GistCommitPropChangeStatusType(TypedDict):
    """GistCommitPropChangeStatus"""

    total: NotRequired[int]
    additions: NotRequired[int]
    deletions: NotRequired[int]


class GitignoreTemplateType(TypedDict):
    """Gitignore Template

    Gitignore Template
    """

    name: str
    source: str


class LicenseType(TypedDict):
    """License

    License
    """

    key: str
    name: str
    spdx_id: Union[str, None]
    url: Union[str, None]
    node_id: str
    html_url: str
    description: str
    implementation: str
    permissions: List[str]
    conditions: List[str]
    limitations: List[str]
    body: str
    featured: bool


class MarketplaceListingPlanType(TypedDict):
    """Marketplace Listing Plan

    Marketplace Listing Plan
    """

    url: str
    accounts_url: str
    id: int
    number: int
    name: str
    description: str
    monthly_price_in_cents: int
    yearly_price_in_cents: int
    price_model: str
    has_free_trial: bool
    unit_name: Union[str, None]
    state: str
    bullets: List[str]


class MarketplacePurchaseType(TypedDict):
    """Marketplace Purchase

    Marketplace Purchase
    """

    url: str
    type: str
    id: int
    login: str
    organization_billing_email: NotRequired[str]
    email: NotRequired[Union[str, None]]
    marketplace_pending_change: NotRequired[
        Union[MarketplacePurchasePropMarketplacePendingChangeType, None]
    ]
    marketplace_purchase: MarketplacePurchasePropMarketplacePurchaseType


class MarketplacePurchasePropMarketplacePendingChangeType(TypedDict):
    """MarketplacePurchasePropMarketplacePendingChange"""

    is_installed: NotRequired[bool]
    effective_date: NotRequired[str]
    unit_count: NotRequired[Union[int, None]]
    id: NotRequired[int]
    plan: NotRequired[MarketplaceListingPlanType]


class MarketplacePurchasePropMarketplacePurchaseType(TypedDict):
    """MarketplacePurchasePropMarketplacePurchase"""

    billing_cycle: NotRequired[str]
    next_billing_date: NotRequired[Union[str, None]]
    is_installed: NotRequired[bool]
    unit_count: NotRequired[Union[int, None]]
    on_free_trial: NotRequired[bool]
    free_trial_ends_on: NotRequired[Union[str, None]]
    updated_at: NotRequired[str]
    plan: NotRequired[MarketplaceListingPlanType]


class ApiOverviewType(TypedDict):
    """Api Overview

    Api Overview
    """

    verifiable_password_authentication: bool
    ssh_key_fingerprints: NotRequired[ApiOverviewPropSshKeyFingerprintsType]
    ssh_keys: NotRequired[List[str]]
    hooks: NotRequired[List[str]]
    web: NotRequired[List[str]]
    api: NotRequired[List[str]]
    git: NotRequired[List[str]]
    packages: NotRequired[List[str]]
    pages: NotRequired[List[str]]
    importer: NotRequired[List[str]]
    actions: NotRequired[List[str]]
    dependabot: NotRequired[List[str]]


class ApiOverviewPropSshKeyFingerprintsType(TypedDict):
    """ApiOverviewPropSshKeyFingerprints"""

    sha256_rsa: NotRequired[str]
    sha256_dsa: NotRequired[str]
    sha256_ecdsa: NotRequired[str]
    sha256_ed25519: NotRequired[str]


class MinimalRepositoryType(TypedDict):
    """Minimal Repository

    Minimal Repository
    """

    id: int
    node_id: str
    name: str
    full_name: str
    owner: SimpleUserType
    private: bool
    html_url: str
    description: Union[str, None]
    fork: bool
    url: str
    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    downloads_url: str
    events_url: str
    forks_url: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: NotRequired[str]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    notifications_url: str
    pulls_url: str
    releases_url: str
    ssh_url: NotRequired[str]
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    clone_url: NotRequired[str]
    mirror_url: NotRequired[Union[str, None]]
    hooks_url: str
    svn_url: NotRequired[str]
    homepage: NotRequired[Union[str, None]]
    language: NotRequired[Union[str, None]]
    forks_count: NotRequired[int]
    stargazers_count: NotRequired[int]
    watchers_count: NotRequired[int]
    size: NotRequired[int]
    default_branch: NotRequired[str]
    open_issues_count: NotRequired[int]
    is_template: NotRequired[bool]
    topics: NotRequired[List[str]]
    has_issues: NotRequired[bool]
    has_projects: NotRequired[bool]
    has_wiki: NotRequired[bool]
    has_pages: NotRequired[bool]
    has_downloads: NotRequired[bool]
    archived: NotRequired[bool]
    disabled: NotRequired[bool]
    visibility: NotRequired[str]
    pushed_at: NotRequired[Union[datetime, None]]
    created_at: NotRequired[Union[datetime, None]]
    updated_at: NotRequired[Union[datetime, None]]
    permissions: NotRequired[MinimalRepositoryPropPermissionsType]
    role_name: NotRequired[str]
    temp_clone_token: NotRequired[str]
    delete_branch_on_merge: NotRequired[bool]
    subscribers_count: NotRequired[int]
    network_count: NotRequired[int]
    code_of_conduct: NotRequired[CodeOfConductType]
    license_: NotRequired[Union[MinimalRepositoryPropLicenseType, None]]
    forks: NotRequired[int]
    open_issues: NotRequired[int]
    watchers: NotRequired[int]
    allow_forking: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]


class MinimalRepositoryPropPermissionsType(TypedDict):
    """MinimalRepositoryPropPermissions"""

    admin: NotRequired[bool]
    maintain: NotRequired[bool]
    push: NotRequired[bool]
    triage: NotRequired[bool]
    pull: NotRequired[bool]


class MinimalRepositoryPropLicenseType(TypedDict):
    """MinimalRepositoryPropLicense"""

    key: NotRequired[str]
    name: NotRequired[str]
    spdx_id: NotRequired[str]
    url: NotRequired[str]
    node_id: NotRequired[str]


class ThreadType(TypedDict):
    """Thread

    Thread
    """

    id: str
    repository: MinimalRepositoryType
    subject: ThreadPropSubjectType
    reason: str
    unread: bool
    updated_at: str
    last_read_at: Union[str, None]
    url: str
    subscription_url: str


class ThreadPropSubjectType(TypedDict):
    """ThreadPropSubject"""

    title: str
    url: str
    latest_comment_url: str
    type: str


class ThreadSubscriptionType(TypedDict):
    """Thread Subscription

    Thread Subscription
    """

    subscribed: bool
    ignored: bool
    reason: Union[str, None]
    created_at: Union[datetime, None]
    url: str
    thread_url: NotRequired[str]
    repository_url: NotRequired[str]


class OrganizationCustomRepositoryRoleType(TypedDict):
    """Organization Custom Repository Role

    Custom repository roles created by organization administrators
    """

    id: int
    name: str
    description: NotRequired[Union[str, None]]
    base_role: NotRequired[Literal["read", "triage", "write", "maintain"]]
    permissions: NotRequired[List[str]]
    organization: NotRequired[SimpleUserType]
    created_at: NotRequired[datetime]
    updated_at: NotRequired[datetime]


class OrganizationFullType(TypedDict):
    """Organization Full

    Organization Full
    """

    login: str
    id: int
    node_id: str
    url: str
    repos_url: str
    events_url: str
    hooks_url: str
    issues_url: str
    members_url: str
    public_members_url: str
    avatar_url: str
    description: Union[str, None]
    name: NotRequired[str]
    company: NotRequired[str]
    blog: NotRequired[str]
    location: NotRequired[str]
    email: NotRequired[str]
    twitter_username: NotRequired[Union[str, None]]
    is_verified: NotRequired[bool]
    has_organization_projects: bool
    has_repository_projects: bool
    public_repos: int
    public_gists: int
    followers: int
    following: int
    html_url: str
    created_at: datetime
    type: str
    total_private_repos: NotRequired[int]
    owned_private_repos: NotRequired[int]
    private_gists: NotRequired[Union[int, None]]
    disk_usage: NotRequired[Union[int, None]]
    collaborators: NotRequired[Union[int, None]]
    billing_email: NotRequired[Union[str, None]]
    plan: NotRequired[OrganizationFullPropPlanType]
    default_repository_permission: NotRequired[Union[str, None]]
    members_can_create_repositories: NotRequired[Union[bool, None]]
    two_factor_requirement_enabled: NotRequired[Union[bool, None]]
    members_allowed_repository_creation_type: NotRequired[str]
    members_can_create_public_repositories: NotRequired[bool]
    members_can_create_private_repositories: NotRequired[bool]
    members_can_create_internal_repositories: NotRequired[bool]
    members_can_create_pages: NotRequired[bool]
    members_can_create_public_pages: NotRequired[bool]
    members_can_create_private_pages: NotRequired[bool]
    members_can_fork_private_repositories: NotRequired[Union[bool, None]]
    web_commit_signoff_required: NotRequired[bool]
    updated_at: datetime
    advanced_security_enabled_for_new_repositories: NotRequired[bool]
    dependabot_alerts_enabled_for_new_repositories: NotRequired[bool]
    dependabot_security_updates_enabled_for_new_repositories: NotRequired[bool]
    dependency_graph_enabled_for_new_repositories: NotRequired[bool]
    secret_scanning_enabled_for_new_repositories: NotRequired[bool]
    secret_scanning_push_protection_enabled_for_new_repositories: NotRequired[bool]


class OrganizationFullPropPlanType(TypedDict):
    """OrganizationFullPropPlan"""

    name: str
    space: int
    private_repos: int
    filled_seats: NotRequired[int]
    seats: NotRequired[int]


class ActionsCacheUsageByRepositoryType(TypedDict):
    """Actions Cache Usage by repository

    GitHub Actions Cache Usage by repository.
    """

    full_name: str
    active_caches_size_in_bytes: int
    active_caches_count: int


class ActionsOrganizationPermissionsType(TypedDict):
    """ActionsOrganizationPermissions"""

    enabled_repositories: Literal["all", "none", "selected"]
    selected_repositories_url: NotRequired[str]
    allowed_actions: NotRequired[Literal["all", "local_only", "selected"]]
    selected_actions_url: NotRequired[str]


class RunnerGroupsOrgType(TypedDict):
    """RunnerGroupsOrg"""

    id: float
    name: str
    visibility: str
    default: bool
    selected_repositories_url: NotRequired[str]
    runners_url: str
    inherited: bool
    inherited_allows_public_repositories: NotRequired[bool]
    allows_public_repositories: bool
    workflow_restrictions_read_only: NotRequired[bool]
    restricted_to_workflows: NotRequired[bool]
    selected_workflows: NotRequired[List[str]]


class OrganizationActionsSecretType(TypedDict):
    """Actions Secret for an Organization

    Secrets for GitHub Actions for an organization.
    """

    name: str
    created_at: datetime
    updated_at: datetime
    visibility: Literal["all", "private", "selected"]
    selected_repositories_url: NotRequired[str]


class ActionsPublicKeyType(TypedDict):
    """ActionsPublicKey

    The public key used for setting Actions Secrets.
    """

    key_id: str
    key: str
    id: NotRequired[int]
    url: NotRequired[str]
    title: NotRequired[str]
    created_at: NotRequired[str]


class EmptyObjectType(TypedDict):
    """Empty Object

    An object without any properties.
    """


class CodespaceMachineType(TypedDict):
    """Codespace machine

    A description of the machine powering a codespace.
    """

    name: str
    display_name: str
    operating_system: str
    storage_in_bytes: int
    memory_in_bytes: int
    cpus: int
    prebuild_availability: Union[None, Literal["none", "ready", "in_progress"]]


class CodespaceType(TypedDict):
    """Codespace

    A codespace.
    """

    id: int
    name: str
    display_name: NotRequired[Union[str, None]]
    environment_id: Union[str, None]
    owner: SimpleUserType
    billable_owner: SimpleUserType
    repository: MinimalRepositoryType
    machine: Union[None, CodespaceMachineType]
    devcontainer_path: NotRequired[Union[str, None]]
    prebuild: Union[bool, None]
    created_at: datetime
    updated_at: datetime
    last_used_at: datetime
    state: Literal[
        "Unknown",
        "Created",
        "Queued",
        "Provisioning",
        "Available",
        "Awaiting",
        "Unavailable",
        "Deleted",
        "Moved",
        "Shutdown",
        "Archived",
        "Starting",
        "ShuttingDown",
        "Failed",
        "Exporting",
        "Updating",
        "Rebuilding",
    ]
    url: str
    git_status: CodespacePropGitStatusType
    location: Literal["EastUs", "SouthEastAsia", "WestEurope", "WestUs2"]
    idle_timeout_minutes: Union[int, None]
    web_url: str
    machines_url: str
    start_url: str
    stop_url: str
    pulls_url: Union[str, None]
    recent_folders: List[str]
    runtime_constraints: NotRequired[CodespacePropRuntimeConstraintsType]
    pending_operation: NotRequired[Union[bool, None]]
    pending_operation_disabled_reason: NotRequired[Union[str, None]]
    idle_timeout_notice: NotRequired[Union[str, None]]
    retention_period_minutes: NotRequired[Union[int, None]]
    retention_expires_at: NotRequired[Union[datetime, None]]
    last_known_stop_notice: NotRequired[Union[str, None]]


class CodespacePropGitStatusType(TypedDict):
    """CodespacePropGitStatus

    Details about the codespace's git repository.
    """

    ahead: NotRequired[int]
    behind: NotRequired[int]
    has_unpushed_changes: NotRequired[bool]
    has_uncommitted_changes: NotRequired[bool]
    ref: NotRequired[str]


class CodespacePropRuntimeConstraintsType(TypedDict):
    """CodespacePropRuntimeConstraints"""

    allowed_port_privacy_settings: NotRequired[Union[List[str], None]]


class CodespacesOrgSecretType(TypedDict):
    """Codespaces Secret

    Secrets for a GitHub Codespace.
    """

    name: str
    created_at: datetime
    updated_at: datetime
    visibility: Literal["all", "private", "selected"]
    selected_repositories_url: NotRequired[str]


class CodespacesPublicKeyType(TypedDict):
    """CodespacesPublicKey

    The public key used for setting Codespaces secrets.
    """

    key_id: str
    key: str
    id: NotRequired[int]
    url: NotRequired[str]
    title: NotRequired[str]
    created_at: NotRequired[str]


class DependabotAlertPackageType(TypedDict):
    """DependabotAlertPackage

    Details for the vulnerable package.
    """

    ecosystem: str
    name: str


class DependabotAlertSecurityVulnerabilityType(TypedDict):
    """DependabotAlertSecurityVulnerability

    Details pertaining to one vulnerable version range for the advisory.
    """

    package: DependabotAlertPackageType
    severity: Literal["low", "medium", "high", "critical"]
    vulnerable_version_range: str
    first_patched_version: Union[
        DependabotAlertSecurityVulnerabilityPropFirstPatchedVersionType, None
    ]


class DependabotAlertSecurityVulnerabilityPropFirstPatchedVersionType(TypedDict):
    """DependabotAlertSecurityVulnerabilityPropFirstPatchedVersion

    Details pertaining to the package version that patches this vulnerability.
    """

    identifier: str


class DependabotAlertSecurityAdvisoryType(TypedDict):
    """DependabotAlertSecurityAdvisory

    Details for the GitHub Security Advisory.
    """

    ghsa_id: str
    cve_id: Union[str, None]
    summary: str
    description: str
    vulnerabilities: List[DependabotAlertSecurityVulnerabilityType]
    severity: Literal["low", "medium", "high", "critical"]
    cvss: DependabotAlertSecurityAdvisoryPropCvssType
    cwes: List[DependabotAlertSecurityAdvisoryPropCwesItemsType]
    identifiers: List[DependabotAlertSecurityAdvisoryPropIdentifiersItemsType]
    references: List[DependabotAlertSecurityAdvisoryPropReferencesItemsType]
    published_at: datetime
    updated_at: datetime
    withdrawn_at: Union[datetime, None]


class DependabotAlertSecurityAdvisoryPropCvssType(TypedDict):
    """DependabotAlertSecurityAdvisoryPropCvss

    Details for the advisory pertaining to the Common Vulnerability Scoring System.
    """

    score: float
    vector_string: Union[str, None]


class DependabotAlertSecurityAdvisoryPropCwesItemsType(TypedDict):
    """DependabotAlertSecurityAdvisoryPropCwesItems

    A CWE weakness assigned to the advisory.
    """

    cwe_id: str
    name: str


class DependabotAlertSecurityAdvisoryPropIdentifiersItemsType(TypedDict):
    """DependabotAlertSecurityAdvisoryPropIdentifiersItems

    An advisory identifier.
    """

    type: Literal["CVE", "GHSA"]
    value: str


class DependabotAlertSecurityAdvisoryPropReferencesItemsType(TypedDict):
    """DependabotAlertSecurityAdvisoryPropReferencesItems

    A link to additional advisory information.
    """

    url: str


class DependabotAlertWithRepositoryType(TypedDict):
    """DependabotAlertWithRepository

    A Dependabot alert.
    """

    number: int
    state: Literal["dismissed", "fixed", "open"]
    dependency: DependabotAlertWithRepositoryPropDependencyType
    security_advisory: DependabotAlertSecurityAdvisoryType
    security_vulnerability: DependabotAlertSecurityVulnerabilityType
    url: str
    html_url: str
    created_at: datetime
    updated_at: datetime
    dismissed_at: Union[datetime, None]
    dismissed_by: Union[None, SimpleUserType]
    dismissed_reason: Union[
        None,
        Literal[
            "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"
        ],
    ]
    dismissed_comment: Union[str, None]
    fixed_at: Union[datetime, None]
    repository: SimpleRepositoryType


class DependabotAlertWithRepositoryPropDependencyType(TypedDict):
    """DependabotAlertWithRepositoryPropDependency

    Details for the vulnerable dependency.
    """

    package: NotRequired[DependabotAlertPackageType]
    manifest_path: NotRequired[str]
    scope: NotRequired[Union[None, Literal["development", "runtime"]]]


class OrganizationDependabotSecretType(TypedDict):
    """Dependabot Secret for an Organization

    Secrets for GitHub Dependabot for an organization.
    """

    name: str
    created_at: datetime
    updated_at: datetime
    visibility: Literal["all", "private", "selected"]
    selected_repositories_url: NotRequired[str]


class DependabotPublicKeyType(TypedDict):
    """DependabotPublicKey

    The public key used for setting Dependabot Secrets.
    """

    key_id: str
    key: str


class OrganizationInvitationType(TypedDict):
    """Organization Invitation

    Organization Invitation
    """

    id: int
    login: Union[str, None]
    email: Union[str, None]
    role: str
    created_at: str
    failed_at: NotRequired[Union[str, None]]
    failed_reason: NotRequired[Union[str, None]]
    inviter: SimpleUserType
    team_count: int
    node_id: str
    invitation_teams_url: str


class OrganizationFineGrainedPermissionType(TypedDict):
    """Organization Fine-Grained Permission

    Fine-grained permissions available for the organization
    """

    name: str
    description: str


class OrgHookType(TypedDict):
    """Org Hook

    Org Hook
    """

    id: int
    url: str
    ping_url: str
    deliveries_url: NotRequired[str]
    name: str
    events: List[str]
    active: bool
    config: OrgHookPropConfigType
    updated_at: datetime
    created_at: datetime
    type: str


class OrgHookPropConfigType(TypedDict):
    """OrgHookPropConfig"""

    url: NotRequired[str]
    insecure_ssl: NotRequired[str]
    content_type: NotRequired[str]
    secret: NotRequired[str]


class InteractionLimitResponseType(TypedDict):
    """Interaction Limits

    Interaction limit settings.
    """

    limit: Literal["existing_users", "contributors_only", "collaborators_only"]
    origin: str
    expires_at: datetime


class InteractionLimitType(TypedDict):
    """Interaction Restrictions

    Limit interactions to a specific type of user for a specified duration
    """

    limit: Literal["existing_users", "contributors_only", "collaborators_only"]
    expiry: NotRequired[
        Literal["one_day", "three_days", "one_week", "one_month", "six_months"]
    ]


class TeamSimpleType(TypedDict):
    """Team Simple

    Groups of organization members that gives permissions on specified repositories.
    """

    id: int
    node_id: str
    url: str
    members_url: str
    name: str
    description: Union[str, None]
    permission: str
    privacy: NotRequired[str]
    html_url: str
    repositories_url: str
    slug: str
    ldap_dn: NotRequired[str]


class TeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    id: int
    node_id: str
    name: str
    slug: str
    description: Union[str, None]
    privacy: NotRequired[str]
    permission: str
    permissions: NotRequired[TeamPropPermissionsType]
    url: str
    html_url: str
    members_url: str
    repositories_url: str
    parent: Union[None, TeamSimpleType]


class TeamPropPermissionsType(TypedDict):
    """TeamPropPermissions"""

    pull: bool
    triage: bool
    push: bool
    maintain: bool
    admin: bool


class OrgMembershipType(TypedDict):
    """Org Membership

    Org Membership
    """

    url: str
    state: Literal["active", "pending"]
    role: Literal["admin", "member", "billing_manager"]
    organization_url: str
    organization: OrganizationSimpleType
    user: Union[None, SimpleUserType]
    permissions: NotRequired[OrgMembershipPropPermissionsType]


class OrgMembershipPropPermissionsType(TypedDict):
    """OrgMembershipPropPermissions"""

    can_create_repository: bool


class MigrationType(TypedDict):
    """Migration

    A migration.
    """

    id: int
    owner: Union[None, SimpleUserType]
    guid: str
    state: str
    lock_repositories: bool
    exclude_metadata: bool
    exclude_git_data: bool
    exclude_attachments: bool
    exclude_releases: bool
    exclude_owner_projects: bool
    org_metadata_only: bool
    repositories: List[RepositoryType]
    url: str
    created_at: datetime
    updated_at: datetime
    node_id: str
    archive_url: NotRequired[str]
    exclude: NotRequired[List[Any]]


class PackageType(TypedDict):
    """Package

    A software package
    """

    id: int
    name: str
    package_type: Literal["npm", "maven", "rubygems", "docker", "nuget", "container"]
    url: str
    html_url: str
    version_count: int
    visibility: Literal["private", "public"]
    owner: NotRequired[Union[None, SimpleUserType]]
    repository: NotRequired[Union[None, MinimalRepositoryType]]
    created_at: datetime
    updated_at: datetime


class PackageVersionType(TypedDict):
    """Package Version

    A version of a software package
    """

    id: int
    name: str
    url: str
    package_html_url: str
    html_url: NotRequired[str]
    license_: NotRequired[str]
    description: NotRequired[str]
    created_at: datetime
    updated_at: datetime
    deleted_at: NotRequired[datetime]
    metadata: NotRequired[PackageVersionPropMetadataType]


class PackageVersionPropMetadataType(TypedDict):
    """Package Version Metadata"""

    package_type: Literal["npm", "maven", "rubygems", "docker", "nuget", "container"]
    container: NotRequired[PackageVersionPropMetadataPropContainerType]
    docker: NotRequired[PackageVersionPropMetadataPropDockerType]


class PackageVersionPropMetadataPropContainerType(TypedDict):
    """Container Metadata"""

    tags: List[str]


class PackageVersionPropMetadataPropDockerType(TypedDict):
    """Docker Metadata"""

    tag: NotRequired[List[str]]


class ProjectType(TypedDict):
    """Project

    Projects are a way to organize columns and cards of work.
    """

    owner_url: str
    url: str
    html_url: str
    columns_url: str
    id: int
    node_id: str
    name: str
    body: Union[str, None]
    number: int
    state: str
    creator: Union[None, SimpleUserType]
    created_at: datetime
    updated_at: datetime
    organization_permission: NotRequired[Literal["read", "write", "admin", "none"]]
    private: NotRequired[bool]


class ActionsBillingUsageType(TypedDict):
    """ActionsBillingUsage"""

    total_minutes_used: int
    total_paid_minutes_used: int
    included_minutes: int
    minutes_used_breakdown: ActionsBillingUsagePropMinutesUsedBreakdownType


class ActionsBillingUsagePropMinutesUsedBreakdownType(TypedDict):
    """ActionsBillingUsagePropMinutesUsedBreakdown"""

    ubuntu: NotRequired[int]
    macos: NotRequired[int]
    windows: NotRequired[int]
    ubuntu_4_core: NotRequired[int]
    ubuntu_8_core: NotRequired[int]
    ubuntu_16_core: NotRequired[int]
    ubuntu_32_core: NotRequired[int]
    ubuntu_64_core: NotRequired[int]
    windows_4_core: NotRequired[int]
    windows_8_core: NotRequired[int]
    windows_16_core: NotRequired[int]
    windows_32_core: NotRequired[int]
    windows_64_core: NotRequired[int]
    total: NotRequired[int]


class PackagesBillingUsageType(TypedDict):
    """PackagesBillingUsage"""

    total_gigabytes_bandwidth_used: int
    total_paid_gigabytes_bandwidth_used: int
    included_gigabytes_bandwidth: int


class CombinedBillingUsageType(TypedDict):
    """CombinedBillingUsage"""

    days_left_in_billing_cycle: int
    estimated_paid_storage_for_month: int
    estimated_storage_for_month: int


class TeamOrganizationType(TypedDict):
    """Team Organization

    Team Organization
    """

    login: str
    id: int
    node_id: str
    url: str
    repos_url: str
    events_url: str
    hooks_url: str
    issues_url: str
    members_url: str
    public_members_url: str
    avatar_url: str
    description: Union[str, None]
    name: NotRequired[str]
    company: NotRequired[str]
    blog: NotRequired[str]
    location: NotRequired[str]
    email: NotRequired[str]
    twitter_username: NotRequired[Union[str, None]]
    is_verified: NotRequired[bool]
    has_organization_projects: bool
    has_repository_projects: bool
    public_repos: int
    public_gists: int
    followers: int
    following: int
    html_url: str
    created_at: datetime
    type: str
    total_private_repos: NotRequired[int]
    owned_private_repos: NotRequired[int]
    private_gists: NotRequired[Union[int, None]]
    disk_usage: NotRequired[Union[int, None]]
    collaborators: NotRequired[Union[int, None]]
    billing_email: NotRequired[Union[str, None]]
    plan: NotRequired[TeamOrganizationPropPlanType]
    default_repository_permission: NotRequired[Union[str, None]]
    members_can_create_repositories: NotRequired[Union[bool, None]]
    two_factor_requirement_enabled: NotRequired[Union[bool, None]]
    members_allowed_repository_creation_type: NotRequired[str]
    members_can_create_public_repositories: NotRequired[bool]
    members_can_create_private_repositories: NotRequired[bool]
    members_can_create_internal_repositories: NotRequired[bool]
    members_can_create_pages: NotRequired[bool]
    members_can_create_public_pages: NotRequired[bool]
    members_can_create_private_pages: NotRequired[bool]
    members_can_fork_private_repositories: NotRequired[Union[bool, None]]
    web_commit_signoff_required: NotRequired[bool]
    updated_at: datetime


class TeamOrganizationPropPlanType(TypedDict):
    """TeamOrganizationPropPlan"""

    name: str
    space: int
    private_repos: int
    filled_seats: NotRequired[int]
    seats: NotRequired[int]


class TeamFullType(TypedDict):
    """Full Team

    Groups of organization members that gives permissions on specified repositories.
    """

    id: int
    node_id: str
    url: str
    html_url: str
    name: str
    slug: str
    description: Union[str, None]
    privacy: NotRequired[Literal["closed", "secret"]]
    permission: str
    members_url: str
    repositories_url: str
    parent: NotRequired[Union[None, TeamSimpleType]]
    members_count: int
    repos_count: int
    created_at: datetime
    updated_at: datetime
    organization: TeamOrganizationType
    ldap_dn: NotRequired[str]


class TeamDiscussionType(TypedDict):
    """Team Discussion

    A team discussion is a persistent record of a free-form conversation within a
    team.
    """

    author: Union[None, SimpleUserType]
    body: str
    body_html: str
    body_version: str
    comments_count: int
    comments_url: str
    created_at: datetime
    last_edited_at: Union[datetime, None]
    html_url: str
    node_id: str
    number: int
    pinned: bool
    private: bool
    team_url: str
    title: str
    updated_at: datetime
    url: str
    reactions: NotRequired[ReactionRollupType]


class TeamDiscussionCommentType(TypedDict):
    """Team Discussion Comment

    A reply to a discussion within a team.
    """

    author: Union[None, SimpleUserType]
    body: str
    body_html: str
    body_version: str
    created_at: datetime
    last_edited_at: Union[datetime, None]
    discussion_url: str
    html_url: str
    node_id: str
    number: int
    updated_at: datetime
    url: str
    reactions: NotRequired[ReactionRollupType]


class ReactionType(TypedDict):
    """Reaction

    Reactions to conversations provide a way to help people express their feelings
    more simply and effectively.
    """

    id: int
    node_id: str
    user: Union[None, SimpleUserType]
    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]
    created_at: datetime


class TeamMembershipType(TypedDict):
    """Team Membership

    Team Membership
    """

    url: str
    role: Literal["member", "maintainer"]
    state: Literal["active", "pending"]


class TeamProjectType(TypedDict):
    """Team Project

    A team's access to a project.
    """

    owner_url: str
    url: str
    html_url: str
    columns_url: str
    id: int
    node_id: str
    name: str
    body: Union[str, None]
    number: int
    state: str
    creator: SimpleUserType
    created_at: str
    updated_at: str
    organization_permission: NotRequired[str]
    private: NotRequired[bool]
    permissions: TeamProjectPropPermissionsType


class TeamProjectPropPermissionsType(TypedDict):
    """TeamProjectPropPermissions"""

    read: bool
    write: bool
    admin: bool


class TeamRepositoryType(TypedDict):
    """Team Repository

    A team's access to a repository.
    """

    id: int
    node_id: str
    name: str
    full_name: str
    license_: Union[None, LicenseSimpleType]
    forks: int
    permissions: NotRequired[TeamRepositoryPropPermissionsType]
    role_name: NotRequired[str]
    owner: Union[None, SimpleUserType]
    private: bool
    html_url: str
    description: Union[str, None]
    fork: bool
    url: str
    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    downloads_url: str
    events_url: str
    forks_url: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    notifications_url: str
    pulls_url: str
    releases_url: str
    ssh_url: str
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    clone_url: str
    mirror_url: Union[str, None]
    hooks_url: str
    svn_url: str
    homepage: Union[str, None]
    language: Union[str, None]
    forks_count: int
    stargazers_count: int
    watchers_count: int
    size: int
    default_branch: str
    open_issues_count: int
    is_template: NotRequired[bool]
    topics: NotRequired[List[str]]
    has_issues: bool
    has_projects: bool
    has_wiki: bool
    has_pages: bool
    has_downloads: bool
    archived: bool
    disabled: bool
    visibility: NotRequired[str]
    pushed_at: Union[datetime, None]
    created_at: Union[datetime, None]
    updated_at: Union[datetime, None]
    allow_rebase_merge: NotRequired[bool]
    template_repository: NotRequired[Union[None, RepositoryType]]
    temp_clone_token: NotRequired[str]
    allow_squash_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_forking: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]
    subscribers_count: NotRequired[int]
    network_count: NotRequired[int]
    open_issues: int
    watchers: int
    master_branch: NotRequired[str]


class TeamRepositoryPropPermissionsType(TypedDict):
    """TeamRepositoryPropPermissions"""

    admin: bool
    pull: bool
    triage: NotRequired[bool]
    push: bool
    maintain: NotRequired[bool]


class ProjectCardType(TypedDict):
    """Project Card

    Project cards represent a scope of work.
    """

    url: str
    id: int
    node_id: str
    note: Union[str, None]
    creator: Union[None, SimpleUserType]
    created_at: datetime
    updated_at: datetime
    archived: NotRequired[bool]
    column_name: NotRequired[str]
    project_id: NotRequired[str]
    column_url: str
    content_url: NotRequired[str]
    project_url: str


class ProjectColumnType(TypedDict):
    """Project Column

    Project columns contain cards of work.
    """

    url: str
    project_url: str
    cards_url: str
    id: int
    node_id: str
    name: str
    created_at: datetime
    updated_at: datetime


class ProjectCollaboratorPermissionType(TypedDict):
    """Project Collaborator Permission

    Project Collaborator Permission
    """

    permission: str
    user: Union[None, SimpleUserType]


class RateLimitType(TypedDict):
    """Rate Limit"""

    limit: int
    remaining: int
    reset: int
    used: int


class RateLimitOverviewType(TypedDict):
    """Rate Limit Overview

    Rate Limit Overview
    """

    resources: RateLimitOverviewPropResourcesType
    rate: RateLimitType


class RateLimitOverviewPropResourcesType(TypedDict):
    """RateLimitOverviewPropResources"""

    core: RateLimitType
    graphql: NotRequired[RateLimitType]
    search: RateLimitType
    source_import: NotRequired[RateLimitType]
    integration_manifest: NotRequired[RateLimitType]
    code_scanning_upload: NotRequired[RateLimitType]
    actions_runner_registration: NotRequired[RateLimitType]
    scim: NotRequired[RateLimitType]
    dependency_snapshots: NotRequired[RateLimitType]


class CodeOfConductSimpleType(TypedDict):
    """Code Of Conduct Simple

    Code of Conduct Simple
    """

    url: str
    key: str
    name: str
    html_url: Union[str, None]


class SecurityAndAnalysisPropAdvancedSecurityType(TypedDict):
    """SecurityAndAnalysisPropAdvancedSecurity"""

    status: NotRequired[Literal["enabled", "disabled"]]


class SecurityAndAnalysisPropSecretScanningType(TypedDict):
    """SecurityAndAnalysisPropSecretScanning"""

    status: NotRequired[Literal["enabled", "disabled"]]


class SecurityAndAnalysisPropSecretScanningPushProtectionType(TypedDict):
    """SecurityAndAnalysisPropSecretScanningPushProtection"""

    status: NotRequired[Literal["enabled", "disabled"]]


class SecurityAndAnalysisType(TypedDict):
    """SecurityAndAnalysis"""

    advanced_security: NotRequired[SecurityAndAnalysisPropAdvancedSecurityType]
    secret_scanning: NotRequired[SecurityAndAnalysisPropSecretScanningType]
    secret_scanning_push_protection: NotRequired[
        SecurityAndAnalysisPropSecretScanningPushProtectionType
    ]


class FullRepositoryType(TypedDict):
    """Full Repository

    Full Repository
    """

    id: int
    node_id: str
    name: str
    full_name: str
    owner: SimpleUserType
    private: bool
    html_url: str
    description: Union[str, None]
    fork: bool
    url: str
    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    downloads_url: str
    events_url: str
    forks_url: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    notifications_url: str
    pulls_url: str
    releases_url: str
    ssh_url: str
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    clone_url: str
    mirror_url: Union[str, None]
    hooks_url: str
    svn_url: str
    homepage: Union[str, None]
    language: Union[str, None]
    forks_count: int
    stargazers_count: int
    watchers_count: int
    size: int
    default_branch: str
    open_issues_count: int
    is_template: NotRequired[bool]
    topics: NotRequired[List[str]]
    has_issues: bool
    has_projects: bool
    has_wiki: bool
    has_pages: bool
    has_downloads: bool
    archived: bool
    disabled: bool
    visibility: NotRequired[str]
    pushed_at: datetime
    created_at: datetime
    updated_at: datetime
    permissions: NotRequired[FullRepositoryPropPermissionsType]
    allow_rebase_merge: NotRequired[bool]
    template_repository: NotRequired[Union[None, RepositoryType]]
    temp_clone_token: NotRequired[Union[str, None]]
    allow_squash_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    use_squash_pr_title_as_default: NotRequired[bool]
    squash_merge_commit_title: NotRequired[Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]]
    squash_merge_commit_message: NotRequired[
        Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ]
    merge_commit_title: NotRequired[Literal["PR_TITLE", "MERGE_MESSAGE"]]
    merge_commit_message: NotRequired[Literal["PR_BODY", "PR_TITLE", "BLANK"]]
    allow_forking: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]
    subscribers_count: int
    network_count: int
    license_: Union[None, LicenseSimpleType]
    organization: NotRequired[Union[None, SimpleUserType]]
    parent: NotRequired[RepositoryType]
    source: NotRequired[RepositoryType]
    forks: int
    master_branch: NotRequired[str]
    open_issues: int
    watchers: int
    anonymous_access_enabled: NotRequired[bool]
    code_of_conduct: NotRequired[CodeOfConductSimpleType]
    security_and_analysis: NotRequired[Union[SecurityAndAnalysisType, None]]


class FullRepositoryPropPermissionsType(TypedDict):
    """FullRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    push: bool
    triage: NotRequired[bool]
    pull: bool


class ArtifactType(TypedDict):
    """Artifact

    An artifact
    """

    id: int
    node_id: str
    name: str
    size_in_bytes: int
    url: str
    archive_download_url: str
    expired: bool
    created_at: Union[datetime, None]
    expires_at: Union[datetime, None]
    updated_at: Union[datetime, None]
    workflow_run: NotRequired[Union[ArtifactPropWorkflowRunType, None]]


class ArtifactPropWorkflowRunType(TypedDict):
    """ArtifactPropWorkflowRun"""

    id: NotRequired[int]
    repository_id: NotRequired[int]
    head_repository_id: NotRequired[int]
    head_branch: NotRequired[str]
    head_sha: NotRequired[str]


class ActionsCacheListType(TypedDict):
    """Repository actions caches

    Repository actions caches
    """

    total_count: int
    actions_caches: List[ActionsCacheListPropActionsCachesItemsType]


class ActionsCacheListPropActionsCachesItemsType(TypedDict):
    """ActionsCacheListPropActionsCachesItems"""

    id: NotRequired[int]
    ref: NotRequired[str]
    key: NotRequired[str]
    version: NotRequired[str]
    last_accessed_at: NotRequired[datetime]
    created_at: NotRequired[datetime]
    size_in_bytes: NotRequired[int]


class JobType(TypedDict):
    """Job

    Information of a job execution in a workflow run
    """

    id: int
    run_id: int
    run_url: str
    run_attempt: NotRequired[int]
    node_id: str
    head_sha: str
    url: str
    html_url: Union[str, None]
    status: Literal["queued", "in_progress", "completed"]
    conclusion: Union[
        None,
        Literal[
            "success",
            "failure",
            "neutral",
            "cancelled",
            "skipped",
            "timed_out",
            "action_required",
        ],
    ]
    started_at: datetime
    completed_at: Union[datetime, None]
    name: str
    steps: NotRequired[List[JobPropStepsItemsType]]
    check_run_url: str
    labels: List[str]
    runner_id: Union[int, None]
    runner_name: Union[str, None]
    runner_group_id: Union[int, None]
    runner_group_name: Union[str, None]


class JobPropStepsItemsType(TypedDict):
    """JobPropStepsItems"""

    status: Literal["queued", "in_progress", "completed"]
    conclusion: Union[str, None]
    name: str
    number: int
    started_at: NotRequired[Union[datetime, None]]
    completed_at: NotRequired[Union[datetime, None]]


class ActionsRepositoryPermissionsType(TypedDict):
    """ActionsRepositoryPermissions"""

    enabled: bool
    allowed_actions: NotRequired[Literal["all", "local_only", "selected"]]
    selected_actions_url: NotRequired[str]


class ActionsWorkflowAccessToRepositoryType(TypedDict):
    """ActionsWorkflowAccessToRepository"""

    access_level: Literal["none", "organization", "enterprise"]


class ReferencedWorkflowType(TypedDict):
    """Referenced workflow

    A workflow referenced/reused by the initial caller workflow
    """

    path: str
    sha: str
    ref: NotRequired[str]


class PullRequestMinimalType(TypedDict):
    """Pull Request Minimal"""

    id: int
    number: int
    url: str
    head: PullRequestMinimalPropHeadType
    base: PullRequestMinimalPropBaseType


class PullRequestMinimalPropHeadType(TypedDict):
    """PullRequestMinimalPropHead"""

    ref: str
    sha: str
    repo: PullRequestMinimalPropHeadPropRepoType


class PullRequestMinimalPropHeadPropRepoType(TypedDict):
    """PullRequestMinimalPropHeadPropRepo"""

    id: int
    url: str
    name: str


class PullRequestMinimalPropBaseType(TypedDict):
    """PullRequestMinimalPropBase"""

    ref: str
    sha: str
    repo: PullRequestMinimalPropBasePropRepoType


class PullRequestMinimalPropBasePropRepoType(TypedDict):
    """PullRequestMinimalPropBasePropRepo"""

    id: int
    url: str
    name: str


class SimpleCommitType(TypedDict):
    """Simple Commit

    Simple Commit
    """

    id: str
    tree_id: str
    message: str
    timestamp: datetime
    author: Union[SimpleCommitPropAuthorType, None]
    committer: Union[SimpleCommitPropCommitterType, None]


class SimpleCommitPropAuthorType(TypedDict):
    """SimpleCommitPropAuthor"""

    name: str
    email: str


class SimpleCommitPropCommitterType(TypedDict):
    """SimpleCommitPropCommitter"""

    name: str
    email: str


class WorkflowRunType(TypedDict):
    """Workflow Run

    An invocation of a workflow
    """

    id: int
    name: NotRequired[Union[str, None]]
    node_id: str
    check_suite_id: NotRequired[int]
    check_suite_node_id: NotRequired[str]
    head_branch: Union[str, None]
    head_sha: str
    path: str
    run_number: int
    run_attempt: NotRequired[int]
    referenced_workflows: NotRequired[Union[List[ReferencedWorkflowType], None]]
    event: str
    status: Union[str, None]
    conclusion: Union[str, None]
    workflow_id: int
    url: str
    html_url: str
    pull_requests: Union[List[PullRequestMinimalType], None]
    created_at: datetime
    updated_at: datetime
    actor: NotRequired[SimpleUserType]
    triggering_actor: NotRequired[SimpleUserType]
    run_started_at: NotRequired[datetime]
    jobs_url: str
    logs_url: str
    check_suite_url: str
    artifacts_url: str
    cancel_url: str
    rerun_url: str
    previous_attempt_url: NotRequired[Union[str, None]]
    workflow_url: str
    head_commit: Union[None, SimpleCommitType]
    repository: MinimalRepositoryType
    head_repository: MinimalRepositoryType
    head_repository_id: NotRequired[int]
    display_title: str


class EnvironmentApprovalsType(TypedDict):
    """Environment Approval

    An entry in the reviews log for environment deployments
    """

    environments: List[EnvironmentApprovalsPropEnvironmentsItemsType]
    state: Literal["approved", "rejected"]
    user: SimpleUserType
    comment: str


class EnvironmentApprovalsPropEnvironmentsItemsType(TypedDict):
    """EnvironmentApprovalsPropEnvironmentsItems"""

    id: NotRequired[int]
    node_id: NotRequired[str]
    name: NotRequired[str]
    url: NotRequired[str]
    html_url: NotRequired[str]
    created_at: NotRequired[datetime]
    updated_at: NotRequired[datetime]


class PendingDeploymentType(TypedDict):
    """Pending Deployment

    Details of a deployment that is waiting for protection rules to pass
    """

    environment: PendingDeploymentPropEnvironmentType
    wait_timer: int
    wait_timer_started_at: Union[datetime, None]
    current_user_can_approve: bool
    reviewers: List[PendingDeploymentPropReviewersItemsType]


class PendingDeploymentPropEnvironmentType(TypedDict):
    """PendingDeploymentPropEnvironment"""

    id: NotRequired[int]
    node_id: NotRequired[str]
    name: NotRequired[str]
    url: NotRequired[str]
    html_url: NotRequired[str]


class PendingDeploymentPropReviewersItemsType(TypedDict):
    """PendingDeploymentPropReviewersItems"""

    type: NotRequired[Literal["User", "Team"]]
    reviewer: NotRequired[Union[SimpleUserType, TeamType]]


class DeploymentType(TypedDict):
    """Deployment

    A request for a specific ref(branch,sha,tag) to be deployed
    """

    url: str
    id: int
    node_id: str
    sha: str
    ref: str
    task: str
    payload: Union[DeploymentPropPayloadOneof0Type, str]
    original_environment: NotRequired[str]
    environment: str
    description: Union[str, None]
    creator: Union[None, SimpleUserType]
    created_at: datetime
    updated_at: datetime
    statuses_url: str
    repository_url: str
    transient_environment: NotRequired[bool]
    production_environment: NotRequired[bool]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]


class DeploymentPropPayloadOneof0Type(TypedDict):
    """DeploymentPropPayloadOneof0"""


class WorkflowRunUsageType(TypedDict):
    """Workflow Run Usage

    Workflow Run Usage
    """

    billable: WorkflowRunUsagePropBillableType
    run_duration_ms: NotRequired[int]


class WorkflowRunUsagePropBillableType(TypedDict):
    """WorkflowRunUsagePropBillable"""

    ubuntu: NotRequired[WorkflowRunUsagePropBillablePropUbuntuType]
    macos: NotRequired[WorkflowRunUsagePropBillablePropMacosType]
    windows: NotRequired[WorkflowRunUsagePropBillablePropWindowsType]


class WorkflowRunUsagePropBillablePropUbuntuType(TypedDict):
    """WorkflowRunUsagePropBillablePropUbuntu"""

    total_ms: int
    jobs: int
    job_runs: NotRequired[
        List[WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItemsType]
    ]


class WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItemsType(TypedDict):
    """WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItems"""

    job_id: int
    duration_ms: int


class WorkflowRunUsagePropBillablePropMacosType(TypedDict):
    """WorkflowRunUsagePropBillablePropMacos"""

    total_ms: int
    jobs: int
    job_runs: NotRequired[
        List[WorkflowRunUsagePropBillablePropMacosPropJobRunsItemsType]
    ]


class WorkflowRunUsagePropBillablePropMacosPropJobRunsItemsType(TypedDict):
    """WorkflowRunUsagePropBillablePropMacosPropJobRunsItems"""

    job_id: int
    duration_ms: int


class WorkflowRunUsagePropBillablePropWindowsType(TypedDict):
    """WorkflowRunUsagePropBillablePropWindows"""

    total_ms: int
    jobs: int
    job_runs: NotRequired[
        List[WorkflowRunUsagePropBillablePropWindowsPropJobRunsItemsType]
    ]


class WorkflowRunUsagePropBillablePropWindowsPropJobRunsItemsType(TypedDict):
    """WorkflowRunUsagePropBillablePropWindowsPropJobRunsItems"""

    job_id: int
    duration_ms: int


class ActionsSecretType(TypedDict):
    """Actions Secret

    Set secrets for GitHub Actions.
    """

    name: str
    created_at: datetime
    updated_at: datetime


class WorkflowType(TypedDict):
    """Workflow

    A GitHub Actions workflow
    """

    id: int
    node_id: str
    name: str
    path: str
    state: Literal[
        "active", "deleted", "disabled_fork", "disabled_inactivity", "disabled_manually"
    ]
    created_at: datetime
    updated_at: datetime
    url: str
    html_url: str
    badge_url: str
    deleted_at: NotRequired[datetime]


class WorkflowUsageType(TypedDict):
    """Workflow Usage

    Workflow Usage
    """

    billable: WorkflowUsagePropBillableType


class WorkflowUsagePropBillableType(TypedDict):
    """WorkflowUsagePropBillable"""

    ubuntu: NotRequired[WorkflowUsagePropBillablePropUbuntuType]
    macos: NotRequired[WorkflowUsagePropBillablePropMacosType]
    windows: NotRequired[WorkflowUsagePropBillablePropWindowsType]


class WorkflowUsagePropBillablePropUbuntuType(TypedDict):
    """WorkflowUsagePropBillablePropUbuntu"""

    total_ms: NotRequired[int]


class WorkflowUsagePropBillablePropMacosType(TypedDict):
    """WorkflowUsagePropBillablePropMacos"""

    total_ms: NotRequired[int]


class WorkflowUsagePropBillablePropWindowsType(TypedDict):
    """WorkflowUsagePropBillablePropWindows"""

    total_ms: NotRequired[int]


class AutolinkType(TypedDict):
    """Autolink reference

    An autolink reference.
    """

    id: int
    key_prefix: str
    url_template: str
    is_alphanumeric: bool


class ProtectedBranchRequiredStatusCheckType(TypedDict):
    """Protected Branch Required Status Check

    Protected Branch Required Status Check
    """

    url: NotRequired[str]
    enforcement_level: NotRequired[str]
    contexts: List[str]
    checks: List[ProtectedBranchRequiredStatusCheckPropChecksItemsType]
    contexts_url: NotRequired[str]
    strict: NotRequired[bool]


class ProtectedBranchRequiredStatusCheckPropChecksItemsType(TypedDict):
    """ProtectedBranchRequiredStatusCheckPropChecksItems"""

    context: str
    app_id: Union[int, None]


class ProtectedBranchAdminEnforcedType(TypedDict):
    """Protected Branch Admin Enforced

    Protected Branch Admin Enforced
    """

    url: str
    enabled: bool


class ProtectedBranchPullRequestReviewType(TypedDict):
    """Protected Branch Pull Request Review

    Protected Branch Pull Request Review
    """

    url: NotRequired[str]
    dismissal_restrictions: NotRequired[
        ProtectedBranchPullRequestReviewPropDismissalRestrictionsType
    ]
    bypass_pull_request_allowances: NotRequired[
        ProtectedBranchPullRequestReviewPropBypassPullRequestAllowancesType
    ]
    dismiss_stale_reviews: bool
    require_code_owner_reviews: bool
    required_approving_review_count: NotRequired[int]


class ProtectedBranchPullRequestReviewPropDismissalRestrictionsType(TypedDict):
    """ProtectedBranchPullRequestReviewPropDismissalRestrictions"""

    users: NotRequired[List[SimpleUserType]]
    teams: NotRequired[List[TeamType]]
    apps: NotRequired[List[IntegrationType]]
    url: NotRequired[str]
    users_url: NotRequired[str]
    teams_url: NotRequired[str]


class ProtectedBranchPullRequestReviewPropBypassPullRequestAllowancesType(TypedDict):
    """ProtectedBranchPullRequestReviewPropBypassPullRequestAllowances

    Allow specific users, teams, or apps to bypass pull request requirements.
    """

    users: NotRequired[List[SimpleUserType]]
    teams: NotRequired[List[TeamType]]
    apps: NotRequired[List[IntegrationType]]


class BranchRestrictionPolicyType(TypedDict):
    """Branch Restriction Policy

    Branch Restriction Policy
    """

    url: str
    users_url: str
    teams_url: str
    apps_url: str
    users: List[BranchRestrictionPolicyPropUsersItemsType]
    teams: List[BranchRestrictionPolicyPropTeamsItemsType]
    apps: List[BranchRestrictionPolicyPropAppsItemsType]


class BranchRestrictionPolicyPropUsersItemsType(TypedDict):
    """BranchRestrictionPolicyPropUsersItems"""

    login: NotRequired[str]
    id: NotRequired[int]
    node_id: NotRequired[str]
    avatar_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    url: NotRequired[str]
    html_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    organizations_url: NotRequired[str]
    repos_url: NotRequired[str]
    events_url: NotRequired[str]
    received_events_url: NotRequired[str]
    type: NotRequired[str]
    site_admin: NotRequired[bool]


class BranchRestrictionPolicyPropTeamsItemsType(TypedDict):
    """BranchRestrictionPolicyPropTeamsItems"""

    id: NotRequired[int]
    node_id: NotRequired[str]
    url: NotRequired[str]
    html_url: NotRequired[str]
    name: NotRequired[str]
    slug: NotRequired[str]
    description: NotRequired[Union[str, None]]
    privacy: NotRequired[str]
    permission: NotRequired[str]
    members_url: NotRequired[str]
    repositories_url: NotRequired[str]
    parent: NotRequired[Union[str, None]]


class BranchRestrictionPolicyPropAppsItemsType(TypedDict):
    """BranchRestrictionPolicyPropAppsItems"""

    id: NotRequired[int]
    slug: NotRequired[str]
    node_id: NotRequired[str]
    owner: NotRequired[BranchRestrictionPolicyPropAppsItemsPropOwnerType]
    name: NotRequired[str]
    description: NotRequired[str]
    external_url: NotRequired[str]
    html_url: NotRequired[str]
    created_at: NotRequired[str]
    updated_at: NotRequired[str]
    permissions: NotRequired[BranchRestrictionPolicyPropAppsItemsPropPermissionsType]
    events: NotRequired[List[str]]


class BranchRestrictionPolicyPropAppsItemsPropOwnerType(TypedDict):
    """BranchRestrictionPolicyPropAppsItemsPropOwner"""

    login: NotRequired[str]
    id: NotRequired[int]
    node_id: NotRequired[str]
    url: NotRequired[str]
    repos_url: NotRequired[str]
    events_url: NotRequired[str]
    hooks_url: NotRequired[str]
    issues_url: NotRequired[str]
    members_url: NotRequired[str]
    public_members_url: NotRequired[str]
    avatar_url: NotRequired[str]
    description: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    type: NotRequired[str]
    site_admin: NotRequired[bool]


class BranchRestrictionPolicyPropAppsItemsPropPermissionsType(TypedDict):
    """BranchRestrictionPolicyPropAppsItemsPropPermissions"""

    metadata: NotRequired[str]
    contents: NotRequired[str]
    issues: NotRequired[str]
    single_file: NotRequired[str]


class BranchProtectionType(TypedDict):
    """Branch Protection

    Branch Protection
    """

    url: NotRequired[str]
    enabled: NotRequired[bool]
    required_status_checks: NotRequired[ProtectedBranchRequiredStatusCheckType]
    enforce_admins: NotRequired[ProtectedBranchAdminEnforcedType]
    required_pull_request_reviews: NotRequired[ProtectedBranchPullRequestReviewType]
    restrictions: NotRequired[BranchRestrictionPolicyType]
    required_linear_history: NotRequired[BranchProtectionPropRequiredLinearHistoryType]
    allow_force_pushes: NotRequired[BranchProtectionPropAllowForcePushesType]
    allow_deletions: NotRequired[BranchProtectionPropAllowDeletionsType]
    block_creations: NotRequired[BranchProtectionPropBlockCreationsType]
    required_conversation_resolution: NotRequired[
        BranchProtectionPropRequiredConversationResolutionType
    ]
    name: NotRequired[str]
    protection_url: NotRequired[str]
    required_signatures: NotRequired[BranchProtectionPropRequiredSignaturesType]


class BranchProtectionPropRequiredLinearHistoryType(TypedDict):
    """BranchProtectionPropRequiredLinearHistory"""

    enabled: NotRequired[bool]


class BranchProtectionPropAllowForcePushesType(TypedDict):
    """BranchProtectionPropAllowForcePushes"""

    enabled: NotRequired[bool]


class BranchProtectionPropAllowDeletionsType(TypedDict):
    """BranchProtectionPropAllowDeletions"""

    enabled: NotRequired[bool]


class BranchProtectionPropBlockCreationsType(TypedDict):
    """BranchProtectionPropBlockCreations"""

    enabled: NotRequired[bool]


class BranchProtectionPropRequiredConversationResolutionType(TypedDict):
    """BranchProtectionPropRequiredConversationResolution"""

    enabled: NotRequired[bool]


class BranchProtectionPropRequiredSignaturesType(TypedDict):
    """BranchProtectionPropRequiredSignatures"""

    url: str
    enabled: bool


class ShortBranchType(TypedDict):
    """Short Branch

    Short Branch
    """

    name: str
    commit: ShortBranchPropCommitType
    protected: bool
    protection: NotRequired[BranchProtectionType]
    protection_url: NotRequired[str]


class ShortBranchPropCommitType(TypedDict):
    """ShortBranchPropCommit"""

    sha: str
    url: str


class GitUserType(TypedDict):
    """Git User

    Metaproperties for Git author/committer information.
    """

    name: NotRequired[str]
    email: NotRequired[str]
    date: NotRequired[str]


class VerificationType(TypedDict):
    """Verification"""

    verified: bool
    reason: str
    payload: Union[str, None]
    signature: Union[str, None]


class DiffEntryType(TypedDict):
    """Diff Entry

    Diff Entry
    """

    sha: str
    filename: str
    status: Literal[
        "added", "removed", "modified", "renamed", "copied", "changed", "unchanged"
    ]
    additions: int
    deletions: int
    changes: int
    blob_url: str
    raw_url: str
    contents_url: str
    patch: NotRequired[str]
    previous_filename: NotRequired[str]


class CommitType(TypedDict):
    """Commit

    Commit
    """

    url: str
    sha: str
    node_id: str
    html_url: str
    comments_url: str
    commit: CommitPropCommitType
    author: Union[None, SimpleUserType]
    committer: Union[None, SimpleUserType]
    parents: List[CommitPropParentsItemsType]
    stats: NotRequired[CommitPropStatsType]
    files: NotRequired[List[DiffEntryType]]


class CommitPropCommitType(TypedDict):
    """CommitPropCommit"""

    url: str
    author: Union[None, GitUserType]
    committer: Union[None, GitUserType]
    message: str
    comment_count: int
    tree: CommitPropCommitPropTreeType
    verification: NotRequired[VerificationType]


class CommitPropCommitPropTreeType(TypedDict):
    """CommitPropCommitPropTree"""

    sha: str
    url: str


class CommitPropParentsItemsType(TypedDict):
    """CommitPropParentsItems"""

    sha: str
    url: str
    html_url: NotRequired[str]


class CommitPropStatsType(TypedDict):
    """CommitPropStats"""

    additions: NotRequired[int]
    deletions: NotRequired[int]
    total: NotRequired[int]


class BranchWithProtectionType(TypedDict):
    """Branch With Protection

    Branch With Protection
    """

    name: str
    commit: CommitType
    links: BranchWithProtectionPropLinksType
    protected: bool
    protection: BranchProtectionType
    protection_url: str
    pattern: NotRequired[str]
    required_approving_review_count: NotRequired[int]


class BranchWithProtectionPropLinksType(TypedDict):
    """BranchWithProtectionPropLinks"""

    html: str
    self_: str


class StatusCheckPolicyType(TypedDict):
    """Status Check Policy

    Status Check Policy
    """

    url: str
    strict: bool
    contexts: List[str]
    checks: List[StatusCheckPolicyPropChecksItemsType]
    contexts_url: str


class StatusCheckPolicyPropChecksItemsType(TypedDict):
    """StatusCheckPolicyPropChecksItems"""

    context: str
    app_id: Union[int, None]


class ProtectedBranchType(TypedDict):
    """Protected Branch

    Branch protections protect branches
    """

    url: str
    required_status_checks: NotRequired[StatusCheckPolicyType]
    required_pull_request_reviews: NotRequired[
        ProtectedBranchPropRequiredPullRequestReviewsType
    ]
    required_signatures: NotRequired[ProtectedBranchPropRequiredSignaturesType]
    enforce_admins: NotRequired[ProtectedBranchPropEnforceAdminsType]
    required_linear_history: NotRequired[ProtectedBranchPropRequiredLinearHistoryType]
    allow_force_pushes: NotRequired[ProtectedBranchPropAllowForcePushesType]
    allow_deletions: NotRequired[ProtectedBranchPropAllowDeletionsType]
    restrictions: NotRequired[BranchRestrictionPolicyType]
    required_conversation_resolution: NotRequired[
        ProtectedBranchPropRequiredConversationResolutionType
    ]
    block_creations: NotRequired[ProtectedBranchPropBlockCreationsType]


class ProtectedBranchPropRequiredPullRequestReviewsType(TypedDict):
    """ProtectedBranchPropRequiredPullRequestReviews"""

    url: str
    dismiss_stale_reviews: NotRequired[bool]
    require_code_owner_reviews: NotRequired[bool]
    required_approving_review_count: NotRequired[int]
    dismissal_restrictions: NotRequired[
        ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictionsType
    ]
    bypass_pull_request_allowances: NotRequired[
        ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowancesType
    ]


class ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictionsType(
    TypedDict
):
    """ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictions"""

    url: str
    users_url: str
    teams_url: str
    users: List[SimpleUserType]
    teams: List[TeamType]
    apps: NotRequired[List[IntegrationType]]


class ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowancesType(
    TypedDict
):
    """ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowances"""

    users: List[SimpleUserType]
    teams: List[TeamType]
    apps: NotRequired[List[IntegrationType]]


class ProtectedBranchPropRequiredSignaturesType(TypedDict):
    """ProtectedBranchPropRequiredSignatures"""

    url: str
    enabled: bool


class ProtectedBranchPropEnforceAdminsType(TypedDict):
    """ProtectedBranchPropEnforceAdmins"""

    url: str
    enabled: bool


class ProtectedBranchPropRequiredLinearHistoryType(TypedDict):
    """ProtectedBranchPropRequiredLinearHistory"""

    enabled: bool


class ProtectedBranchPropAllowForcePushesType(TypedDict):
    """ProtectedBranchPropAllowForcePushes"""

    enabled: bool


class ProtectedBranchPropAllowDeletionsType(TypedDict):
    """ProtectedBranchPropAllowDeletions"""

    enabled: bool


class ProtectedBranchPropRequiredConversationResolutionType(TypedDict):
    """ProtectedBranchPropRequiredConversationResolution"""

    enabled: NotRequired[bool]


class ProtectedBranchPropBlockCreationsType(TypedDict):
    """ProtectedBranchPropBlockCreations"""

    enabled: bool


class DeploymentSimpleType(TypedDict):
    """Deployment

    A deployment created as the result of an Actions check run from a workflow that
    references an environment
    """

    url: str
    id: int
    node_id: str
    task: str
    original_environment: NotRequired[str]
    environment: str
    description: Union[str, None]
    created_at: datetime
    updated_at: datetime
    statuses_url: str
    repository_url: str
    transient_environment: NotRequired[bool]
    production_environment: NotRequired[bool]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]


class CheckRunType(TypedDict):
    """CheckRun

    A check performed on the code of a given code change
    """

    id: int
    head_sha: str
    node_id: str
    external_id: Union[str, None]
    url: str
    html_url: Union[str, None]
    details_url: Union[str, None]
    status: Literal["queued", "in_progress", "completed"]
    conclusion: Union[
        None,
        Literal[
            "success",
            "failure",
            "neutral",
            "cancelled",
            "skipped",
            "timed_out",
            "action_required",
        ],
    ]
    started_at: Union[datetime, None]
    completed_at: Union[datetime, None]
    output: CheckRunPropOutputType
    name: str
    check_suite: Union[CheckRunPropCheckSuiteType, None]
    app: Union[None, IntegrationType]
    pull_requests: List[PullRequestMinimalType]
    deployment: NotRequired[DeploymentSimpleType]


class CheckRunPropOutputType(TypedDict):
    """CheckRunPropOutput"""

    title: Union[str, None]
    summary: Union[str, None]
    text: Union[str, None]
    annotations_count: int
    annotations_url: str


class CheckRunPropCheckSuiteType(TypedDict):
    """CheckRunPropCheckSuite"""

    id: int


class CheckAnnotationType(TypedDict):
    """Check Annotation

    Check Annotation
    """

    path: str
    start_line: int
    end_line: int
    start_column: Union[int, None]
    end_column: Union[int, None]
    annotation_level: Union[str, None]
    title: Union[str, None]
    message: Union[str, None]
    raw_details: Union[str, None]
    blob_href: str


class CheckSuiteType(TypedDict):
    """CheckSuite

    A suite of checks performed on the code of a given code change
    """

    id: int
    node_id: str
    head_branch: Union[str, None]
    head_sha: str
    status: Union[None, Literal["queued", "in_progress", "completed"]]
    conclusion: Union[
        None,
        Literal[
            "success",
            "failure",
            "neutral",
            "cancelled",
            "skipped",
            "timed_out",
            "action_required",
        ],
    ]
    url: Union[str, None]
    before: Union[str, None]
    after: Union[str, None]
    pull_requests: Union[List[PullRequestMinimalType], None]
    app: Union[None, IntegrationType]
    repository: MinimalRepositoryType
    created_at: Union[datetime, None]
    updated_at: Union[datetime, None]
    head_commit: SimpleCommitType
    latest_check_runs_count: int
    check_runs_url: str
    rerequestable: NotRequired[bool]
    runs_rerequestable: NotRequired[bool]


class CheckSuitePreferenceType(TypedDict):
    """Check Suite Preference

    Check suite configuration preferences for a repository.
    """

    preferences: CheckSuitePreferencePropPreferencesType
    repository: MinimalRepositoryType


class CheckSuitePreferencePropPreferencesType(TypedDict):
    """CheckSuitePreferencePropPreferences"""

    auto_trigger_checks: NotRequired[
        List[CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItemsType]
    ]


class CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItemsType(TypedDict):
    """CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItems"""

    app_id: int
    setting: bool


class CodeScanningAlertRuleSummaryType(TypedDict):
    """CodeScanningAlertRuleSummary"""

    id: NotRequired[Union[str, None]]
    name: NotRequired[str]
    tags: NotRequired[Union[List[str], None]]
    severity: NotRequired[Union[None, Literal["none", "note", "warning", "error"]]]
    description: NotRequired[str]


class CodeScanningAlertItemsType(TypedDict):
    """CodeScanningAlertItems"""

    number: int
    created_at: datetime
    updated_at: NotRequired[datetime]
    url: str
    html_url: str
    instances_url: str
    state: Literal["open", "closed", "dismissed", "fixed"]
    fixed_at: NotRequired[Union[datetime, None]]
    dismissed_by: Union[None, SimpleUserType]
    dismissed_at: Union[datetime, None]
    dismissed_reason: Union[
        None, Literal["false positive", "won't fix", "used in tests"]
    ]
    dismissed_comment: NotRequired[Union[str, None]]
    rule: CodeScanningAlertRuleSummaryType
    tool: CodeScanningAnalysisToolType
    most_recent_instance: CodeScanningAlertInstanceType


class CodeScanningAlertType(TypedDict):
    """CodeScanningAlert"""

    number: int
    created_at: datetime
    updated_at: NotRequired[datetime]
    url: str
    html_url: str
    instances_url: str
    state: Literal["open", "closed", "dismissed", "fixed"]
    fixed_at: NotRequired[Union[datetime, None]]
    dismissed_by: Union[None, SimpleUserType]
    dismissed_at: Union[datetime, None]
    dismissed_reason: Union[
        None, Literal["false positive", "won't fix", "used in tests"]
    ]
    dismissed_comment: NotRequired[Union[str, None]]
    rule: CodeScanningAlertRuleType
    tool: CodeScanningAnalysisToolType
    most_recent_instance: CodeScanningAlertInstanceType


class CodeScanningAnalysisType(TypedDict):
    """CodeScanningAnalysis"""

    ref: str
    commit_sha: str
    analysis_key: str
    environment: str
    category: NotRequired[str]
    error: str
    created_at: datetime
    results_count: int
    rules_count: int
    id: int
    url: str
    sarif_id: str
    tool: CodeScanningAnalysisToolType
    deletable: bool
    warning: str


class CodeScanningAnalysisDeletionType(TypedDict):
    """Analysis deletion

    Successful deletion of a code scanning analysis
    """

    next_analysis_url: Union[str, None]
    confirm_delete_url: Union[str, None]


class CodeScanningCodeqlDatabaseType(TypedDict):
    """CodeQL Database

    A CodeQL database.
    """

    id: int
    name: str
    language: str
    uploader: SimpleUserType
    content_type: str
    size: int
    created_at: datetime
    updated_at: datetime
    url: str


class CodeScanningSarifsReceiptType(TypedDict):
    """CodeScanningSarifsReceipt"""

    id: NotRequired[str]
    url: NotRequired[str]


class CodeScanningSarifsStatusType(TypedDict):
    """CodeScanningSarifsStatus"""

    processing_status: NotRequired[Literal["pending", "complete", "failed"]]
    analyses_url: NotRequired[Union[str, None]]
    errors: NotRequired[Union[List[str], None]]


class CodeownersErrorsType(TypedDict):
    """CODEOWNERS errors

    A list of errors found in a repo's CODEOWNERS file
    """

    errors: List[CodeownersErrorsPropErrorsItemsType]


class CodeownersErrorsPropErrorsItemsType(TypedDict):
    """CodeownersErrorsPropErrorsItems"""

    line: int
    column: int
    source: NotRequired[str]
    kind: str
    suggestion: NotRequired[Union[str, None]]
    message: str
    path: str


class RepoCodespacesSecretType(TypedDict):
    """Codespaces Secret

    Set repository secrets for GitHub Codespaces.
    """

    name: str
    created_at: datetime
    updated_at: datetime


class CollaboratorType(TypedDict):
    """Collaborator

    Collaborator
    """

    login: str
    id: int
    email: NotRequired[Union[str, None]]
    name: NotRequired[Union[str, None]]
    node_id: str
    avatar_url: str
    gravatar_id: Union[str, None]
    url: str
    html_url: str
    followers_url: str
    following_url: str
    gists_url: str
    starred_url: str
    subscriptions_url: str
    organizations_url: str
    repos_url: str
    events_url: str
    received_events_url: str
    type: str
    site_admin: bool
    permissions: NotRequired[CollaboratorPropPermissionsType]
    role_name: str


class CollaboratorPropPermissionsType(TypedDict):
    """CollaboratorPropPermissions"""

    pull: bool
    triage: NotRequired[bool]
    push: bool
    maintain: NotRequired[bool]
    admin: bool


class RepositoryInvitationType(TypedDict):
    """Repository Invitation

    Repository invitations let you manage who you collaborate with.
    """

    id: int
    repository: MinimalRepositoryType
    invitee: Union[None, SimpleUserType]
    inviter: Union[None, SimpleUserType]
    permissions: Literal["read", "write", "admin", "triage", "maintain"]
    created_at: datetime
    expired: NotRequired[bool]
    url: str
    html_url: str
    node_id: str


class RepositoryCollaboratorPermissionType(TypedDict):
    """Repository Collaborator Permission

    Repository Collaborator Permission
    """

    permission: str
    role_name: str
    user: Union[None, CollaboratorType]


class CommitCommentType(TypedDict):
    """Commit Comment

    Commit Comment
    """

    html_url: str
    url: str
    id: int
    node_id: str
    body: str
    path: Union[str, None]
    position: Union[int, None]
    line: Union[int, None]
    commit_id: str
    user: Union[None, SimpleUserType]
    created_at: datetime
    updated_at: datetime
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    reactions: NotRequired[ReactionRollupType]


class BranchShortType(TypedDict):
    """Branch Short

    Branch Short
    """

    name: str
    commit: BranchShortPropCommitType
    protected: bool


class BranchShortPropCommitType(TypedDict):
    """BranchShortPropCommit"""

    sha: str
    url: str


class LinkType(TypedDict):
    """Link

    Hypermedia Link
    """

    href: str


class AutoMergeType(TypedDict):
    """Auto merge

    The status of auto merging a pull request.
    """

    enabled_by: SimpleUserType
    merge_method: Literal["merge", "squash", "rebase"]
    commit_title: str
    commit_message: str


class PullRequestSimpleType(TypedDict):
    """Pull Request Simple

    Pull Request Simple
    """

    url: str
    id: int
    node_id: str
    html_url: str
    diff_url: str
    patch_url: str
    issue_url: str
    commits_url: str
    review_comments_url: str
    review_comment_url: str
    comments_url: str
    statuses_url: str
    number: int
    state: str
    locked: bool
    title: str
    user: Union[None, SimpleUserType]
    body: Union[str, None]
    labels: List[PullRequestSimplePropLabelsItemsType]
    milestone: Union[None, MilestoneType]
    active_lock_reason: NotRequired[Union[str, None]]
    created_at: datetime
    updated_at: datetime
    closed_at: Union[datetime, None]
    merged_at: Union[datetime, None]
    merge_commit_sha: Union[str, None]
    assignee: Union[None, SimpleUserType]
    assignees: NotRequired[Union[List[SimpleUserType], None]]
    requested_reviewers: NotRequired[Union[List[SimpleUserType], None]]
    requested_teams: NotRequired[Union[List[TeamType], None]]
    head: PullRequestSimplePropHeadType
    base: PullRequestSimplePropBaseType
    links: PullRequestSimplePropLinksType
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    auto_merge: Union[AutoMergeType, None]
    draft: NotRequired[bool]


class PullRequestSimplePropLabelsItemsType(TypedDict):
    """PullRequestSimplePropLabelsItems"""

    id: int
    node_id: str
    url: str
    name: str
    description: str
    color: str
    default: bool


class PullRequestSimplePropHeadType(TypedDict):
    """PullRequestSimplePropHead"""

    label: str
    ref: str
    repo: RepositoryType
    sha: str
    user: Union[None, SimpleUserType]


class PullRequestSimplePropBaseType(TypedDict):
    """PullRequestSimplePropBase"""

    label: str
    ref: str
    repo: RepositoryType
    sha: str
    user: Union[None, SimpleUserType]


class PullRequestSimplePropLinksType(TypedDict):
    """PullRequestSimplePropLinks"""

    comments: LinkType
    commits: LinkType
    statuses: LinkType
    html: LinkType
    issue: LinkType
    review_comments: LinkType
    review_comment: LinkType
    self_: LinkType


class SimpleCommitStatusType(TypedDict):
    """Simple Commit Status"""

    description: Union[str, None]
    id: int
    node_id: str
    state: str
    context: str
    target_url: Union[str, None]
    required: NotRequired[Union[bool, None]]
    avatar_url: Union[str, None]
    url: str
    created_at: datetime
    updated_at: datetime


class CombinedCommitStatusType(TypedDict):
    """Combined Commit Status

    Combined Commit Status
    """

    state: str
    statuses: List[SimpleCommitStatusType]
    sha: str
    total_count: int
    repository: MinimalRepositoryType
    commit_url: str
    url: str


class StatusType(TypedDict):
    """Status

    The status of a commit.
    """

    url: str
    avatar_url: Union[str, None]
    id: int
    node_id: str
    state: str
    description: Union[str, None]
    target_url: Union[str, None]
    context: str
    created_at: str
    updated_at: str
    creator: Union[None, SimpleUserType]


class CommunityHealthFileType(TypedDict):
    """Community Health File"""

    url: str
    html_url: str


class CommunityProfileType(TypedDict):
    """Community Profile

    Community Profile
    """

    health_percentage: int
    description: Union[str, None]
    documentation: Union[str, None]
    files: CommunityProfilePropFilesType
    updated_at: Union[datetime, None]
    content_reports_enabled: NotRequired[bool]


class CommunityProfilePropFilesType(TypedDict):
    """CommunityProfilePropFiles"""

    code_of_conduct: Union[None, CodeOfConductSimpleType]
    code_of_conduct_file: Union[None, CommunityHealthFileType]
    license_: Union[None, LicenseSimpleType]
    contributing: Union[None, CommunityHealthFileType]
    readme: Union[None, CommunityHealthFileType]
    issue_template: Union[None, CommunityHealthFileType]
    pull_request_template: Union[None, CommunityHealthFileType]


class CommitComparisonType(TypedDict):
    """Commit Comparison

    Commit Comparison
    """

    url: str
    html_url: str
    permalink_url: str
    diff_url: str
    patch_url: str
    base_commit: CommitType
    merge_base_commit: CommitType
    status: Literal["diverged", "ahead", "behind", "identical"]
    ahead_by: int
    behind_by: int
    total_commits: int
    commits: List[CommitType]
    files: NotRequired[List[DiffEntryType]]


class ContentTreeType(TypedDict):
    """Content Tree

    Content Tree
    """

    type: str
    size: int
    name: str
    path: str
    sha: str
    url: str
    git_url: Union[str, None]
    html_url: Union[str, None]
    download_url: Union[str, None]
    entries: NotRequired[List[ContentTreePropEntriesItemsType]]
    links: ContentTreePropLinksType


class ContentTreePropEntriesItemsType(TypedDict):
    """ContentTreePropEntriesItems"""

    type: str
    size: int
    name: str
    path: str
    content: NotRequired[str]
    sha: str
    url: str
    git_url: Union[str, None]
    html_url: Union[str, None]
    download_url: Union[str, None]
    links: ContentTreePropEntriesItemsPropLinksType


class ContentTreePropEntriesItemsPropLinksType(TypedDict):
    """ContentTreePropEntriesItemsPropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class ContentTreePropLinksType(TypedDict):
    """ContentTreePropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class ContentDirectoryItemsType(TypedDict):
    """ContentDirectoryItems"""

    type: Literal["dir", "file", "submodule", "symlink"]
    size: int
    name: str
    path: str
    content: NotRequired[str]
    sha: str
    url: str
    git_url: Union[str, None]
    html_url: Union[str, None]
    download_url: Union[str, None]
    links: ContentDirectoryItemsPropLinksType


class ContentDirectoryItemsPropLinksType(TypedDict):
    """ContentDirectoryItemsPropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class ContentFileType(TypedDict):
    """Content File

    Content File
    """

    type: Literal["file"]
    encoding: str
    size: int
    name: str
    path: str
    content: str
    sha: str
    url: str
    git_url: Union[str, None]
    html_url: Union[str, None]
    download_url: Union[str, None]
    links: ContentFilePropLinksType
    target: NotRequired[str]
    submodule_git_url: NotRequired[str]


class ContentFilePropLinksType(TypedDict):
    """ContentFilePropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class ContentSymlinkType(TypedDict):
    """Symlink Content

    An object describing a symlink
    """

    type: Literal["symlink"]
    target: str
    size: int
    name: str
    path: str
    sha: str
    url: str
    git_url: Union[str, None]
    html_url: Union[str, None]
    download_url: Union[str, None]
    links: ContentSymlinkPropLinksType


class ContentSymlinkPropLinksType(TypedDict):
    """ContentSymlinkPropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class ContentSubmoduleType(TypedDict):
    """Submodule Content

    An object describing a submodule
    """

    type: Literal["submodule"]
    submodule_git_url: str
    size: int
    name: str
    path: str
    sha: str
    url: str
    git_url: Union[str, None]
    html_url: Union[str, None]
    download_url: Union[str, None]
    links: ContentSubmodulePropLinksType


class ContentSubmodulePropLinksType(TypedDict):
    """ContentSubmodulePropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class FileCommitType(TypedDict):
    """File Commit

    File Commit
    """

    content: Union[FileCommitPropContentType, None]
    commit: FileCommitPropCommitType


class FileCommitPropContentPropLinksType(TypedDict):
    """FileCommitPropContentPropLinks"""

    self_: NotRequired[str]
    git: NotRequired[str]
    html: NotRequired[str]


class FileCommitPropContentType(TypedDict):
    """FileCommitPropContent"""

    name: NotRequired[str]
    path: NotRequired[str]
    sha: NotRequired[str]
    size: NotRequired[int]
    url: NotRequired[str]
    html_url: NotRequired[str]
    git_url: NotRequired[str]
    download_url: NotRequired[str]
    type: NotRequired[str]
    links: NotRequired[FileCommitPropContentPropLinksType]


class FileCommitPropCommitType(TypedDict):
    """FileCommitPropCommit"""

    sha: NotRequired[str]
    node_id: NotRequired[str]
    url: NotRequired[str]
    html_url: NotRequired[str]
    author: NotRequired[FileCommitPropCommitPropAuthorType]
    committer: NotRequired[FileCommitPropCommitPropCommitterType]
    message: NotRequired[str]
    tree: NotRequired[FileCommitPropCommitPropTreeType]
    parents: NotRequired[List[FileCommitPropCommitPropParentsItemsType]]
    verification: NotRequired[FileCommitPropCommitPropVerificationType]


class FileCommitPropCommitPropAuthorType(TypedDict):
    """FileCommitPropCommitPropAuthor"""

    date: NotRequired[str]
    name: NotRequired[str]
    email: NotRequired[str]


class FileCommitPropCommitPropCommitterType(TypedDict):
    """FileCommitPropCommitPropCommitter"""

    date: NotRequired[str]
    name: NotRequired[str]
    email: NotRequired[str]


class FileCommitPropCommitPropTreeType(TypedDict):
    """FileCommitPropCommitPropTree"""

    url: NotRequired[str]
    sha: NotRequired[str]


class FileCommitPropCommitPropParentsItemsType(TypedDict):
    """FileCommitPropCommitPropParentsItems"""

    url: NotRequired[str]
    html_url: NotRequired[str]
    sha: NotRequired[str]


class FileCommitPropCommitPropVerificationType(TypedDict):
    """FileCommitPropCommitPropVerification"""

    verified: NotRequired[bool]
    reason: NotRequired[str]
    signature: NotRequired[Union[str, None]]
    payload: NotRequired[Union[str, None]]


class ContributorType(TypedDict):
    """Contributor

    Contributor
    """

    login: NotRequired[str]
    id: NotRequired[int]
    node_id: NotRequired[str]
    avatar_url: NotRequired[str]
    gravatar_id: NotRequired[Union[str, None]]
    url: NotRequired[str]
    html_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    organizations_url: NotRequired[str]
    repos_url: NotRequired[str]
    events_url: NotRequired[str]
    received_events_url: NotRequired[str]
    type: str
    site_admin: NotRequired[bool]
    contributions: int
    email: NotRequired[str]
    name: NotRequired[str]


class DependabotAlertType(TypedDict):
    """DependabotAlert

    A Dependabot alert.
    """

    number: int
    state: Literal["dismissed", "fixed", "open"]
    dependency: DependabotAlertPropDependencyType
    security_advisory: DependabotAlertSecurityAdvisoryType
    security_vulnerability: DependabotAlertSecurityVulnerabilityType
    url: str
    html_url: str
    created_at: datetime
    updated_at: datetime
    dismissed_at: Union[datetime, None]
    dismissed_by: Union[None, SimpleUserType]
    dismissed_reason: Union[
        None,
        Literal[
            "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"
        ],
    ]
    dismissed_comment: Union[str, None]
    fixed_at: Union[datetime, None]


class DependabotAlertPropDependencyType(TypedDict):
    """DependabotAlertPropDependency

    Details for the vulnerable dependency.
    """

    package: NotRequired[DependabotAlertPackageType]
    manifest_path: NotRequired[str]
    scope: NotRequired[Union[None, Literal["development", "runtime"]]]


class DependabotSecretType(TypedDict):
    """Dependabot Secret

    Set secrets for Dependabot.
    """

    name: str
    created_at: datetime
    updated_at: datetime


class DependencyGraphDiffItemsType(TypedDict):
    """DependencyGraphDiffItems"""

    change_type: Literal["added", "removed"]
    manifest: str
    ecosystem: str
    name: str
    version: str
    package_url: Union[str, None]
    license_: Union[str, None]
    source_repository_url: Union[str, None]
    vulnerabilities: List[DependencyGraphDiffItemsPropVulnerabilitiesItemsType]
    scope: Literal["unknown", "runtime", "development"]


class DependencyGraphDiffItemsPropVulnerabilitiesItemsType(TypedDict):
    """DependencyGraphDiffItemsPropVulnerabilitiesItems"""

    severity: str
    advisory_ghsa_id: str
    advisory_summary: str
    advisory_url: str


class MetadataType(TypedDict):
    """metadata

    User-defined metadata to store domain-specific information limited to 8 keys
    with scalar values.
    """


class DependencyType(TypedDict):
    """Dependency"""

    package_url: NotRequired[str]
    metadata: NotRequired[MetadataType]
    relationship: NotRequired[Literal["direct", "indirect"]]
    scope: NotRequired[Literal["runtime", "development"]]
    dependencies: NotRequired[List[str]]


class ManifestType(TypedDict):
    """Manifest"""

    name: str
    file: NotRequired[ManifestPropFileType]
    metadata: NotRequired[MetadataType]
    resolved: NotRequired[ManifestPropResolvedType]


class ManifestPropFileType(TypedDict):
    """ManifestPropFile"""

    source_location: NotRequired[str]


class ManifestPropResolvedType(TypedDict):
    """ManifestPropResolved

    A collection of resolved package dependencies.
    """


class SnapshotType(TypedDict):
    """snapshot

    Create a new snapshot of a repository's dependencies.
    """

    version: int
    job: SnapshotPropJobType
    sha: str
    ref: str
    detector: SnapshotPropDetectorType
    metadata: NotRequired[MetadataType]
    manifests: NotRequired[SnapshotPropManifestsType]
    scanned: datetime


class SnapshotPropJobType(TypedDict):
    """SnapshotPropJob"""

    id: str
    correlator: str
    html_url: NotRequired[str]


class SnapshotPropDetectorType(TypedDict):
    """SnapshotPropDetector

    A description of the detector used.
    """

    name: str
    version: str
    url: str


class SnapshotPropManifestsType(TypedDict):
    """SnapshotPropManifests

    A collection of package manifests, which are a collection of related
    dependencies declared in a file or representing a logical group of dependencies.
    """


class DeploymentStatusType(TypedDict):
    """Deployment Status

    The status of a deployment.
    """

    url: str
    id: int
    node_id: str
    state: Literal[
        "error", "failure", "inactive", "pending", "success", "queued", "in_progress"
    ]
    creator: Union[None, SimpleUserType]
    description: str
    environment: NotRequired[str]
    target_url: str
    created_at: datetime
    updated_at: datetime
    deployment_url: str
    repository_url: str
    environment_url: NotRequired[str]
    log_url: NotRequired[str]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]


class DeploymentBranchPolicySettingsType(TypedDict):
    """DeploymentBranchPolicySettings

    The type of deployment branch policy for this environment. To allow all branches
    to deploy, set to `null`.
    """

    protected_branches: bool
    custom_branch_policies: bool


class EnvironmentType(TypedDict):
    """Environment

    Details of a deployment environment
    """

    id: int
    node_id: str
    name: str
    url: str
    html_url: str
    created_at: datetime
    updated_at: datetime
    protection_rules: NotRequired[
        List[
            Union[
                EnvironmentPropProtectionRulesItemsAnyof0Type,
                EnvironmentPropProtectionRulesItemsAnyof1Type,
                EnvironmentPropProtectionRulesItemsAnyof2Type,
            ]
        ]
    ]
    deployment_branch_policy: NotRequired[
        Union[DeploymentBranchPolicySettingsType, None]
    ]


class EnvironmentPropProtectionRulesItemsAnyof0Type(TypedDict):
    """EnvironmentPropProtectionRulesItemsAnyof0"""

    id: int
    node_id: str
    type: str
    wait_timer: NotRequired[int]


class EnvironmentPropProtectionRulesItemsAnyof1Type(TypedDict):
    """EnvironmentPropProtectionRulesItemsAnyof1"""

    id: int
    node_id: str
    type: str
    reviewers: NotRequired[
        List[EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItemsType]
    ]


class EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItemsType(TypedDict):
    """EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItems"""

    type: NotRequired[Literal["User", "Team"]]
    reviewer: NotRequired[Union[SimpleUserType, TeamType]]


class EnvironmentPropProtectionRulesItemsAnyof2Type(TypedDict):
    """EnvironmentPropProtectionRulesItemsAnyof2"""

    id: int
    node_id: str
    type: str


class DeploymentBranchPolicyType(TypedDict):
    """Deployment branch policy

    Details of a deployment branch policy.
    """

    id: NotRequired[int]
    node_id: NotRequired[str]
    name: NotRequired[str]


class DeploymentBranchPolicyNamePatternType(TypedDict):
    """Deployment branch policy name pattern"""

    name: str


class ShortBlobType(TypedDict):
    """Short Blob

    Short Blob
    """

    url: str
    sha: str


class BlobType(TypedDict):
    """Blob

    Blob
    """

    content: str
    encoding: str
    url: str
    sha: str
    size: Union[int, None]
    node_id: str
    highlighted_content: NotRequired[str]


class GitCommitType(TypedDict):
    """Git Commit

    Low-level Git commit operations within a repository
    """

    sha: str
    node_id: str
    url: str
    author: GitCommitPropAuthorType
    committer: GitCommitPropCommitterType
    message: str
    tree: GitCommitPropTreeType
    parents: List[GitCommitPropParentsItemsType]
    verification: GitCommitPropVerificationType
    html_url: str


class GitCommitPropAuthorType(TypedDict):
    """GitCommitPropAuthor

    Identifying information for the git-user
    """

    date: datetime
    email: str
    name: str


class GitCommitPropCommitterType(TypedDict):
    """GitCommitPropCommitter

    Identifying information for the git-user
    """

    date: datetime
    email: str
    name: str


class GitCommitPropTreeType(TypedDict):
    """GitCommitPropTree"""

    sha: str
    url: str


class GitCommitPropParentsItemsType(TypedDict):
    """GitCommitPropParentsItems"""

    sha: str
    url: str
    html_url: str


class GitCommitPropVerificationType(TypedDict):
    """GitCommitPropVerification"""

    verified: bool
    reason: str
    signature: Union[str, None]
    payload: Union[str, None]


class GitRefType(TypedDict):
    """Git Reference

    Git references within a repository
    """

    ref: str
    node_id: str
    url: str
    object_: GitRefPropObjectType


class GitRefPropObjectType(TypedDict):
    """GitRefPropObject"""

    type: str
    sha: str
    url: str


class GitTagType(TypedDict):
    """Git Tag

    Metadata for a Git tag
    """

    node_id: str
    tag: str
    sha: str
    url: str
    message: str
    tagger: GitTagPropTaggerType
    object_: GitTagPropObjectType
    verification: NotRequired[VerificationType]


class GitTagPropTaggerType(TypedDict):
    """GitTagPropTagger"""

    date: str
    email: str
    name: str


class GitTagPropObjectType(TypedDict):
    """GitTagPropObject"""

    sha: str
    type: str
    url: str


class GitTreeType(TypedDict):
    """Git Tree

    The hierarchy between files in a Git repository.
    """

    sha: str
    url: str
    truncated: bool
    tree: List[GitTreePropTreeItemsType]


class GitTreePropTreeItemsType(TypedDict):
    """GitTreePropTreeItems"""

    path: NotRequired[str]
    mode: NotRequired[str]
    type: NotRequired[str]
    sha: NotRequired[str]
    size: NotRequired[int]
    url: NotRequired[str]


class HookResponseType(TypedDict):
    """Hook Response"""

    code: Union[int, None]
    status: Union[str, None]
    message: Union[str, None]


class HookType(TypedDict):
    """Webhook

    Webhooks for repositories.
    """

    type: str
    id: int
    name: str
    active: bool
    events: List[str]
    config: HookPropConfigType
    updated_at: datetime
    created_at: datetime
    url: str
    test_url: str
    ping_url: str
    deliveries_url: NotRequired[str]
    last_response: HookResponseType


class HookPropConfigType(TypedDict):
    """HookPropConfig"""

    email: NotRequired[str]
    password: NotRequired[str]
    room: NotRequired[str]
    subdomain: NotRequired[str]
    url: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]
    content_type: NotRequired[str]
    digest: NotRequired[str]
    secret: NotRequired[str]
    token: NotRequired[str]


class ImportType(TypedDict):
    """Import

    A repository import from an external source.
    """

    vcs: Union[str, None]
    use_lfs: NotRequired[bool]
    vcs_url: str
    svc_root: NotRequired[str]
    tfvc_project: NotRequired[str]
    status: Literal[
        "auth",
        "error",
        "none",
        "detecting",
        "choose",
        "auth_failed",
        "importing",
        "mapping",
        "waiting_to_push",
        "pushing",
        "complete",
        "setup",
        "unknown",
        "detection_found_multiple",
        "detection_found_nothing",
        "detection_needs_auth",
    ]
    status_text: NotRequired[Union[str, None]]
    failed_step: NotRequired[Union[str, None]]
    error_message: NotRequired[Union[str, None]]
    import_percent: NotRequired[Union[int, None]]
    commit_count: NotRequired[Union[int, None]]
    push_percent: NotRequired[Union[int, None]]
    has_large_files: NotRequired[bool]
    large_files_size: NotRequired[int]
    large_files_count: NotRequired[int]
    project_choices: NotRequired[List[ImportPropProjectChoicesItemsType]]
    message: NotRequired[str]
    authors_count: NotRequired[Union[int, None]]
    url: str
    html_url: str
    authors_url: str
    repository_url: str
    svn_root: NotRequired[str]


class ImportPropProjectChoicesItemsType(TypedDict):
    """ImportPropProjectChoicesItems"""

    vcs: NotRequired[str]
    tfvc_project: NotRequired[str]
    human_name: NotRequired[str]


class PorterAuthorType(TypedDict):
    """Porter Author

    Porter Author
    """

    id: int
    remote_id: str
    remote_name: str
    email: str
    name: str
    url: str
    import_url: str


class PorterLargeFileType(TypedDict):
    """Porter Large File

    Porter Large File
    """

    ref_name: str
    path: str
    oid: str
    size: int


class IssueEventLabelType(TypedDict):
    """Issue Event Label

    Issue Event Label
    """

    name: Union[str, None]
    color: Union[str, None]


class IssueEventDismissedReviewType(TypedDict):
    """Issue Event Dismissed Review"""

    state: str
    review_id: int
    dismissal_message: Union[str, None]
    dismissal_commit_id: NotRequired[Union[str, None]]


class IssueEventMilestoneType(TypedDict):
    """Issue Event Milestone

    Issue Event Milestone
    """

    title: str


class IssueEventProjectCardType(TypedDict):
    """Issue Event Project Card

    Issue Event Project Card
    """

    url: str
    id: int
    project_url: str
    project_id: int
    column_name: str
    previous_column_name: NotRequired[str]


class IssueEventRenameType(TypedDict):
    """Issue Event Rename

    Issue Event Rename
    """

    from_: str
    to: str


class IssueEventType(TypedDict):
    """Issue Event

    Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: Union[None, SimpleUserType]
    event: str
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: datetime
    issue: NotRequired[Union[None, IssueType]]
    label: NotRequired[IssueEventLabelType]
    assignee: NotRequired[Union[None, SimpleUserType]]
    assigner: NotRequired[Union[None, SimpleUserType]]
    review_requester: NotRequired[Union[None, SimpleUserType]]
    requested_reviewer: NotRequired[Union[None, SimpleUserType]]
    requested_team: NotRequired[TeamType]
    dismissed_review: NotRequired[IssueEventDismissedReviewType]
    milestone: NotRequired[IssueEventMilestoneType]
    project_card: NotRequired[IssueEventProjectCardType]
    rename: NotRequired[IssueEventRenameType]
    author_association: NotRequired[
        Literal[
            "COLLABORATOR",
            "CONTRIBUTOR",
            "FIRST_TIMER",
            "FIRST_TIME_CONTRIBUTOR",
            "MANNEQUIN",
            "MEMBER",
            "NONE",
            "OWNER",
        ]
    ]
    lock_reason: NotRequired[Union[str, None]]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]


class LabeledIssueEventType(TypedDict):
    """Labeled Issue Event

    Labeled Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["labeled"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    label: LabeledIssueEventPropLabelType


class LabeledIssueEventPropLabelType(TypedDict):
    """LabeledIssueEventPropLabel"""

    name: str
    color: str


class UnlabeledIssueEventType(TypedDict):
    """Unlabeled Issue Event

    Unlabeled Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["unlabeled"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    label: UnlabeledIssueEventPropLabelType


class UnlabeledIssueEventPropLabelType(TypedDict):
    """UnlabeledIssueEventPropLabel"""

    name: str
    color: str


class AssignedIssueEventType(TypedDict):
    """Assigned Issue Event

    Assigned Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: str
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: IntegrationType
    assignee: SimpleUserType
    assigner: SimpleUserType


class UnassignedIssueEventType(TypedDict):
    """Unassigned Issue Event

    Unassigned Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: str
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    assignee: SimpleUserType
    assigner: SimpleUserType


class MilestonedIssueEventType(TypedDict):
    """Milestoned Issue Event

    Milestoned Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["milestoned"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    milestone: MilestonedIssueEventPropMilestoneType


class MilestonedIssueEventPropMilestoneType(TypedDict):
    """MilestonedIssueEventPropMilestone"""

    title: str


class DemilestonedIssueEventType(TypedDict):
    """Demilestoned Issue Event

    Demilestoned Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["demilestoned"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    milestone: DemilestonedIssueEventPropMilestoneType


class DemilestonedIssueEventPropMilestoneType(TypedDict):
    """DemilestonedIssueEventPropMilestone"""

    title: str


class RenamedIssueEventType(TypedDict):
    """Renamed Issue Event

    Renamed Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["renamed"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    rename: RenamedIssueEventPropRenameType


class RenamedIssueEventPropRenameType(TypedDict):
    """RenamedIssueEventPropRename"""

    from_: str
    to: str


class ReviewRequestedIssueEventType(TypedDict):
    """Review Requested Issue Event

    Review Requested Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["review_requested"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    review_requester: SimpleUserType
    requested_team: NotRequired[TeamType]
    requested_reviewer: NotRequired[SimpleUserType]


class ReviewRequestRemovedIssueEventType(TypedDict):
    """Review Request Removed Issue Event

    Review Request Removed Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["review_request_removed"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    review_requester: SimpleUserType
    requested_team: NotRequired[TeamType]
    requested_reviewer: NotRequired[SimpleUserType]


class ReviewDismissedIssueEventType(TypedDict):
    """Review Dismissed Issue Event

    Review Dismissed Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["review_dismissed"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    dismissed_review: ReviewDismissedIssueEventPropDismissedReviewType


class ReviewDismissedIssueEventPropDismissedReviewType(TypedDict):
    """ReviewDismissedIssueEventPropDismissedReview"""

    state: str
    review_id: int
    dismissal_message: Union[str, None]
    dismissal_commit_id: NotRequired[str]


class LockedIssueEventType(TypedDict):
    """Locked Issue Event

    Locked Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["locked"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    lock_reason: Union[str, None]


class AddedToProjectIssueEventType(TypedDict):
    """Added to Project Issue Event

    Added to Project Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["added_to_project"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    project_card: NotRequired[AddedToProjectIssueEventPropProjectCardType]


class AddedToProjectIssueEventPropProjectCardType(TypedDict):
    """AddedToProjectIssueEventPropProjectCard"""

    id: int
    url: str
    project_id: int
    project_url: str
    column_name: str
    previous_column_name: NotRequired[str]


class MovedColumnInProjectIssueEventType(TypedDict):
    """Moved Column in Project Issue Event

    Moved Column in Project Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["moved_columns_in_project"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    project_card: NotRequired[MovedColumnInProjectIssueEventPropProjectCardType]


class MovedColumnInProjectIssueEventPropProjectCardType(TypedDict):
    """MovedColumnInProjectIssueEventPropProjectCard"""

    id: int
    url: str
    project_id: int
    project_url: str
    column_name: str
    previous_column_name: NotRequired[str]


class RemovedFromProjectIssueEventType(TypedDict):
    """Removed from Project Issue Event

    Removed from Project Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["removed_from_project"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    project_card: NotRequired[RemovedFromProjectIssueEventPropProjectCardType]


class RemovedFromProjectIssueEventPropProjectCardType(TypedDict):
    """RemovedFromProjectIssueEventPropProjectCard"""

    id: int
    url: str
    project_id: int
    project_url: str
    column_name: str
    previous_column_name: NotRequired[str]


class ConvertedNoteToIssueIssueEventType(TypedDict):
    """Converted Note to Issue Issue Event

    Converted Note to Issue Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["converted_note_to_issue"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: IntegrationType
    project_card: NotRequired[ConvertedNoteToIssueIssueEventPropProjectCardType]


class ConvertedNoteToIssueIssueEventPropProjectCardType(TypedDict):
    """ConvertedNoteToIssueIssueEventPropProjectCard"""

    id: int
    url: str
    project_id: int
    project_url: str
    column_name: str
    previous_column_name: NotRequired[str]


class LabelType(TypedDict):
    """Label

    Color-coded labels help you categorize and filter your issues (just like labels
    in Gmail).
    """

    id: int
    node_id: str
    url: str
    name: str
    description: Union[str, None]
    color: str
    default: bool


class TimelineCommentEventType(TypedDict):
    """Timeline Comment Event

    Timeline Comment Event
    """

    event: Literal["commented"]
    actor: SimpleUserType
    id: int
    node_id: str
    url: str
    body: NotRequired[str]
    body_text: NotRequired[str]
    body_html: NotRequired[str]
    html_url: str
    user: SimpleUserType
    created_at: datetime
    updated_at: datetime
    issue_url: str
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]
    reactions: NotRequired[ReactionRollupType]


class TimelineCrossReferencedEventType(TypedDict):
    """Timeline Cross Referenced Event

    Timeline Cross Referenced Event
    """

    event: Literal["cross-referenced"]
    actor: NotRequired[SimpleUserType]
    created_at: datetime
    updated_at: datetime
    source: TimelineCrossReferencedEventPropSourceType


class TimelineCrossReferencedEventPropSourceType(TypedDict):
    """TimelineCrossReferencedEventPropSource"""

    type: NotRequired[str]
    issue: NotRequired[IssueType]


class TimelineCommittedEventType(TypedDict):
    """Timeline Committed Event

    Timeline Committed Event
    """

    event: NotRequired[Literal["committed"]]
    sha: str
    node_id: str
    url: str
    author: TimelineCommittedEventPropAuthorType
    committer: TimelineCommittedEventPropCommitterType
    message: str
    tree: TimelineCommittedEventPropTreeType
    parents: List[TimelineCommittedEventPropParentsItemsType]
    verification: TimelineCommittedEventPropVerificationType
    html_url: str


class TimelineCommittedEventPropAuthorType(TypedDict):
    """TimelineCommittedEventPropAuthor

    Identifying information for the git-user
    """

    date: datetime
    email: str
    name: str


class TimelineCommittedEventPropCommitterType(TypedDict):
    """TimelineCommittedEventPropCommitter

    Identifying information for the git-user
    """

    date: datetime
    email: str
    name: str


class TimelineCommittedEventPropTreeType(TypedDict):
    """TimelineCommittedEventPropTree"""

    sha: str
    url: str


class TimelineCommittedEventPropParentsItemsType(TypedDict):
    """TimelineCommittedEventPropParentsItems"""

    sha: str
    url: str
    html_url: str


class TimelineCommittedEventPropVerificationType(TypedDict):
    """TimelineCommittedEventPropVerification"""

    verified: bool
    reason: str
    signature: Union[str, None]
    payload: Union[str, None]


class TimelineReviewedEventType(TypedDict):
    """Timeline Reviewed Event

    Timeline Reviewed Event
    """

    event: Literal["reviewed"]
    id: int
    node_id: str
    user: SimpleUserType
    body: Union[str, None]
    state: str
    html_url: str
    pull_request_url: str
    links: TimelineReviewedEventPropLinksType
    submitted_at: NotRequired[datetime]
    commit_id: str
    body_html: NotRequired[Union[str, None]]
    body_text: NotRequired[Union[str, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]


class TimelineReviewedEventPropLinksType(TypedDict):
    """TimelineReviewedEventPropLinks"""

    html: TimelineReviewedEventPropLinksPropHtmlType
    pull_request: TimelineReviewedEventPropLinksPropPullRequestType


class TimelineReviewedEventPropLinksPropHtmlType(TypedDict):
    """TimelineReviewedEventPropLinksPropHtml"""

    href: str


class TimelineReviewedEventPropLinksPropPullRequestType(TypedDict):
    """TimelineReviewedEventPropLinksPropPullRequest"""

    href: str


class PullRequestReviewCommentType(TypedDict):
    """Pull Request Review Comment

    Pull Request Review Comments are comments on a portion of the Pull Request's
    diff.
    """

    url: str
    pull_request_review_id: Union[int, None]
    id: int
    node_id: str
    diff_hunk: str
    path: str
    position: int
    original_position: int
    commit_id: str
    original_commit_id: str
    in_reply_to_id: NotRequired[int]
    user: SimpleUserType
    body: str
    created_at: datetime
    updated_at: datetime
    html_url: str
    pull_request_url: str
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    links: PullRequestReviewCommentPropLinksType
    start_line: NotRequired[Union[int, None]]
    original_start_line: NotRequired[Union[int, None]]
    start_side: NotRequired[Union[None, Literal["LEFT", "RIGHT"]]]
    line: NotRequired[int]
    original_line: NotRequired[int]
    side: NotRequired[Literal["LEFT", "RIGHT"]]
    reactions: NotRequired[ReactionRollupType]
    body_html: NotRequired[str]
    body_text: NotRequired[str]


class PullRequestReviewCommentPropLinksType(TypedDict):
    """PullRequestReviewCommentPropLinks"""

    self_: PullRequestReviewCommentPropLinksPropSelfType
    html: PullRequestReviewCommentPropLinksPropHtmlType
    pull_request: PullRequestReviewCommentPropLinksPropPullRequestType


class PullRequestReviewCommentPropLinksPropSelfType(TypedDict):
    """PullRequestReviewCommentPropLinksPropSelf"""

    href: str


class PullRequestReviewCommentPropLinksPropHtmlType(TypedDict):
    """PullRequestReviewCommentPropLinksPropHtml"""

    href: str


class PullRequestReviewCommentPropLinksPropPullRequestType(TypedDict):
    """PullRequestReviewCommentPropLinksPropPullRequest"""

    href: str


class TimelineLineCommentedEventType(TypedDict):
    """Timeline Line Commented Event

    Timeline Line Commented Event
    """

    event: NotRequired[Literal["line_commented"]]
    node_id: NotRequired[str]
    comments: NotRequired[List[PullRequestReviewCommentType]]


class TimelineCommitCommentedEventType(TypedDict):
    """Timeline Commit Commented Event

    Timeline Commit Commented Event
    """

    event: NotRequired[Literal["commit_commented"]]
    node_id: NotRequired[str]
    commit_id: NotRequired[str]
    comments: NotRequired[List[CommitCommentType]]


class TimelineAssignedIssueEventType(TypedDict):
    """Timeline Assigned Issue Event

    Timeline Assigned Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["assigned"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    assignee: SimpleUserType


class TimelineUnassignedIssueEventType(TypedDict):
    """Timeline Unassigned Issue Event

    Timeline Unassigned Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: Literal["unassigned"]
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    assignee: SimpleUserType


class StateChangeIssueEventType(TypedDict):
    """State Change Issue Event

    State Change Issue Event
    """

    id: int
    node_id: str
    url: str
    actor: SimpleUserType
    event: str
    commit_id: Union[str, None]
    commit_url: Union[str, None]
    created_at: str
    performed_via_github_app: Union[None, IntegrationType]
    state_reason: NotRequired[Union[str, None]]


class DeployKeyType(TypedDict):
    """Deploy Key

    An SSH key granting access to a single repository.
    """

    id: int
    key: str
    url: str
    title: str
    verified: bool
    created_at: str
    read_only: bool
    added_by: NotRequired[Union[str, None]]
    last_used: NotRequired[Union[str, None]]


class LanguageType(TypedDict):
    """Language

    Language
    """


class LicenseContentType(TypedDict):
    """License Content

    License Content
    """

    name: str
    path: str
    sha: str
    size: int
    url: str
    html_url: Union[str, None]
    git_url: Union[str, None]
    download_url: Union[str, None]
    type: str
    content: str
    encoding: str
    links: LicenseContentPropLinksType
    license_: Union[None, LicenseSimpleType]


class LicenseContentPropLinksType(TypedDict):
    """LicenseContentPropLinks"""

    git: Union[str, None]
    html: Union[str, None]
    self_: str


class MergedUpstreamType(TypedDict):
    """Merged upstream

    Results of a successful merge upstream request
    """

    message: NotRequired[str]
    merge_type: NotRequired[Literal["merge", "fast-forward", "none"]]
    base_branch: NotRequired[str]


class PagesSourceHashType(TypedDict):
    """Pages Source Hash"""

    branch: str
    path: str


class PagesHttpsCertificateType(TypedDict):
    """Pages Https Certificate"""

    state: Literal[
        "new",
        "authorization_created",
        "authorization_pending",
        "authorized",
        "authorization_revoked",
        "issued",
        "uploaded",
        "approved",
        "errored",
        "bad_authz",
        "destroy_pending",
        "dns_changed",
    ]
    description: str
    domains: List[str]
    expires_at: NotRequired[date]


class PageType(TypedDict):
    """GitHub Pages

    The configuration for GitHub Pages for a repository.
    """

    url: str
    status: Union[None, Literal["built", "building", "errored"]]
    cname: Union[str, None]
    protected_domain_state: NotRequired[
        Union[None, Literal["pending", "verified", "unverified"]]
    ]
    pending_domain_unverified_at: NotRequired[Union[datetime, None]]
    custom_404: bool
    html_url: NotRequired[str]
    build_type: NotRequired[Union[None, Literal["legacy", "workflow"]]]
    source: NotRequired[PagesSourceHashType]
    public: bool
    https_certificate: NotRequired[PagesHttpsCertificateType]
    https_enforced: NotRequired[bool]


class PageBuildType(TypedDict):
    """Page Build

    Page Build
    """

    url: str
    status: str
    error: PageBuildPropErrorType
    pusher: Union[None, SimpleUserType]
    commit: str
    duration: int
    created_at: datetime
    updated_at: datetime


class PageBuildPropErrorType(TypedDict):
    """PageBuildPropError"""

    message: Union[str, None]


class PageBuildStatusType(TypedDict):
    """Page Build Status

    Page Build Status
    """

    url: str
    status: str


class PageDeploymentType(TypedDict):
    """GitHub Pages

    The GitHub Pages deployment status.
    """

    status_url: str
    page_url: str
    preview_url: NotRequired[str]


class PagesHealthCheckType(TypedDict):
    """Pages Health Check Status

    Pages Health Check Status
    """

    domain: NotRequired[PagesHealthCheckPropDomainType]
    alt_domain: NotRequired[Union[PagesHealthCheckPropAltDomainType, None]]


class PagesHealthCheckPropDomainType(TypedDict):
    """PagesHealthCheckPropDomain"""

    host: NotRequired[str]
    uri: NotRequired[str]
    nameservers: NotRequired[str]
    dns_resolves: NotRequired[bool]
    is_proxied: NotRequired[Union[bool, None]]
    is_cloudflare_ip: NotRequired[Union[bool, None]]
    is_fastly_ip: NotRequired[Union[bool, None]]
    is_old_ip_address: NotRequired[Union[bool, None]]
    is_a_record: NotRequired[Union[bool, None]]
    has_cname_record: NotRequired[Union[bool, None]]
    has_mx_records_present: NotRequired[Union[bool, None]]
    is_valid_domain: NotRequired[bool]
    is_apex_domain: NotRequired[bool]
    should_be_a_record: NotRequired[Union[bool, None]]
    is_cname_to_github_user_domain: NotRequired[Union[bool, None]]
    is_cname_to_pages_dot_github_dot_com: NotRequired[Union[bool, None]]
    is_cname_to_fastly: NotRequired[Union[bool, None]]
    is_pointed_to_github_pages_ip: NotRequired[Union[bool, None]]
    is_non_github_pages_ip_present: NotRequired[Union[bool, None]]
    is_pages_domain: NotRequired[bool]
    is_served_by_pages: NotRequired[Union[bool, None]]
    is_valid: NotRequired[bool]
    reason: NotRequired[Union[str, None]]
    responds_to_https: NotRequired[bool]
    enforces_https: NotRequired[bool]
    https_error: NotRequired[Union[str, None]]
    is_https_eligible: NotRequired[Union[bool, None]]
    caa_error: NotRequired[Union[str, None]]


class PagesHealthCheckPropAltDomainType(TypedDict):
    """PagesHealthCheckPropAltDomain"""

    host: NotRequired[str]
    uri: NotRequired[str]
    nameservers: NotRequired[str]
    dns_resolves: NotRequired[bool]
    is_proxied: NotRequired[Union[bool, None]]
    is_cloudflare_ip: NotRequired[Union[bool, None]]
    is_fastly_ip: NotRequired[Union[bool, None]]
    is_old_ip_address: NotRequired[Union[bool, None]]
    is_a_record: NotRequired[Union[bool, None]]
    has_cname_record: NotRequired[Union[bool, None]]
    has_mx_records_present: NotRequired[Union[bool, None]]
    is_valid_domain: NotRequired[bool]
    is_apex_domain: NotRequired[bool]
    should_be_a_record: NotRequired[Union[bool, None]]
    is_cname_to_github_user_domain: NotRequired[Union[bool, None]]
    is_cname_to_pages_dot_github_dot_com: NotRequired[Union[bool, None]]
    is_cname_to_fastly: NotRequired[Union[bool, None]]
    is_pointed_to_github_pages_ip: NotRequired[Union[bool, None]]
    is_non_github_pages_ip_present: NotRequired[Union[bool, None]]
    is_pages_domain: NotRequired[bool]
    is_served_by_pages: NotRequired[Union[bool, None]]
    is_valid: NotRequired[bool]
    reason: NotRequired[Union[str, None]]
    responds_to_https: NotRequired[bool]
    enforces_https: NotRequired[bool]
    https_error: NotRequired[Union[str, None]]
    is_https_eligible: NotRequired[Union[bool, None]]
    caa_error: NotRequired[Union[str, None]]


class PullRequestType(TypedDict):
    """Pull Request

    Pull requests let you tell others about changes you've pushed to a repository on
    GitHub. Once a pull request is sent, interested parties can review the set of
    changes, discuss potential modifications, and even push follow-up commits if
    necessary.
    """

    url: str
    id: int
    node_id: str
    html_url: str
    diff_url: str
    patch_url: str
    issue_url: str
    commits_url: str
    review_comments_url: str
    review_comment_url: str
    comments_url: str
    statuses_url: str
    number: int
    state: Literal["open", "closed"]
    locked: bool
    title: str
    user: Union[None, SimpleUserType]
    body: Union[str, None]
    labels: List[PullRequestPropLabelsItemsType]
    milestone: Union[None, MilestoneType]
    active_lock_reason: NotRequired[Union[str, None]]
    created_at: datetime
    updated_at: datetime
    closed_at: Union[datetime, None]
    merged_at: Union[datetime, None]
    merge_commit_sha: Union[str, None]
    assignee: Union[None, SimpleUserType]
    assignees: NotRequired[Union[List[SimpleUserType], None]]
    requested_reviewers: NotRequired[Union[List[SimpleUserType], None]]
    requested_teams: NotRequired[Union[List[TeamSimpleType], None]]
    head: PullRequestPropHeadType
    base: PullRequestPropBaseType
    links: PullRequestPropLinksType
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    auto_merge: Union[AutoMergeType, None]
    draft: NotRequired[bool]
    merged: bool
    mergeable: Union[bool, None]
    rebaseable: NotRequired[Union[bool, None]]
    mergeable_state: str
    merged_by: Union[None, SimpleUserType]
    comments: int
    review_comments: int
    maintainer_can_modify: bool
    commits: int
    additions: int
    deletions: int
    changed_files: int


class PullRequestPropLabelsItemsType(TypedDict):
    """PullRequestPropLabelsItems"""

    id: int
    node_id: str
    url: str
    name: str
    description: Union[str, None]
    color: str
    default: bool


class PullRequestPropHeadType(TypedDict):
    """PullRequestPropHead"""

    label: str
    ref: str
    repo: Union[PullRequestPropHeadPropRepoType, None]
    sha: str
    user: PullRequestPropHeadPropUserType


class PullRequestPropHeadPropRepoPropOwnerType(TypedDict):
    """PullRequestPropHeadPropRepoPropOwner"""

    avatar_url: str
    events_url: str
    followers_url: str
    following_url: str
    gists_url: str
    gravatar_id: Union[str, None]
    html_url: str
    id: int
    node_id: str
    login: str
    organizations_url: str
    received_events_url: str
    repos_url: str
    site_admin: bool
    starred_url: str
    subscriptions_url: str
    type: str
    url: str


class PullRequestPropHeadPropRepoPropPermissionsType(TypedDict):
    """PullRequestPropHeadPropRepoPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    push: bool
    triage: NotRequired[bool]
    pull: bool


class PullRequestPropHeadPropRepoPropLicenseType(TypedDict):
    """PullRequestPropHeadPropRepoPropLicense"""

    key: str
    name: str
    url: Union[str, None]
    spdx_id: Union[str, None]
    node_id: str


class PullRequestPropHeadPropRepoType(TypedDict):
    """PullRequestPropHeadPropRepo"""

    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    description: Union[str, None]
    downloads_url: str
    events_url: str
    fork: bool
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    hooks_url: str
    html_url: str
    id: int
    node_id: str
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    name: str
    notifications_url: str
    owner: PullRequestPropHeadPropRepoPropOwnerType
    private: bool
    pulls_url: str
    releases_url: str
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    url: str
    clone_url: str
    default_branch: str
    forks: int
    forks_count: int
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_projects: bool
    has_wiki: bool
    has_pages: bool
    homepage: Union[str, None]
    language: Union[str, None]
    master_branch: NotRequired[str]
    archived: bool
    disabled: bool
    visibility: NotRequired[str]
    mirror_url: Union[str, None]
    open_issues: int
    open_issues_count: int
    permissions: NotRequired[PullRequestPropHeadPropRepoPropPermissionsType]
    temp_clone_token: NotRequired[str]
    allow_merge_commit: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    license_: Union[PullRequestPropHeadPropRepoPropLicenseType, None]
    pushed_at: datetime
    size: int
    ssh_url: str
    stargazers_count: int
    svn_url: str
    topics: NotRequired[List[str]]
    watchers: int
    watchers_count: int
    created_at: datetime
    updated_at: datetime
    allow_forking: NotRequired[bool]
    is_template: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]


class PullRequestPropHeadPropUserType(TypedDict):
    """PullRequestPropHeadPropUser"""

    avatar_url: str
    events_url: str
    followers_url: str
    following_url: str
    gists_url: str
    gravatar_id: Union[str, None]
    html_url: str
    id: int
    node_id: str
    login: str
    organizations_url: str
    received_events_url: str
    repos_url: str
    site_admin: bool
    starred_url: str
    subscriptions_url: str
    type: str
    url: str


class PullRequestPropBaseType(TypedDict):
    """PullRequestPropBase"""

    label: str
    ref: str
    repo: PullRequestPropBasePropRepoType
    sha: str
    user: PullRequestPropBasePropUserType


class PullRequestPropBasePropRepoType(TypedDict):
    """PullRequestPropBasePropRepo"""

    archive_url: str
    assignees_url: str
    blobs_url: str
    branches_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    deployments_url: str
    description: Union[str, None]
    downloads_url: str
    events_url: str
    fork: bool
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    node_id: str
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    languages_url: str
    merges_url: str
    milestones_url: str
    name: str
    notifications_url: str
    owner: PullRequestPropBasePropRepoPropOwnerType
    private: bool
    pulls_url: str
    releases_url: str
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    tags_url: str
    teams_url: str
    trees_url: str
    url: str
    clone_url: str
    default_branch: str
    forks: int
    forks_count: int
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_projects: bool
    has_wiki: bool
    has_pages: bool
    homepage: Union[str, None]
    language: Union[str, None]
    master_branch: NotRequired[str]
    archived: bool
    disabled: bool
    visibility: NotRequired[str]
    mirror_url: Union[str, None]
    open_issues: int
    open_issues_count: int
    permissions: NotRequired[PullRequestPropBasePropRepoPropPermissionsType]
    temp_clone_token: NotRequired[str]
    allow_merge_commit: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    license_: Union[None, LicenseSimpleType]
    pushed_at: datetime
    size: int
    ssh_url: str
    stargazers_count: int
    svn_url: str
    topics: NotRequired[List[str]]
    watchers: int
    watchers_count: int
    created_at: datetime
    updated_at: datetime
    allow_forking: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]


class PullRequestPropBasePropRepoPropOwnerType(TypedDict):
    """PullRequestPropBasePropRepoPropOwner"""

    avatar_url: str
    events_url: str
    followers_url: str
    following_url: str
    gists_url: str
    gravatar_id: Union[str, None]
    html_url: str
    id: int
    node_id: str
    login: str
    organizations_url: str
    received_events_url: str
    repos_url: str
    site_admin: bool
    starred_url: str
    subscriptions_url: str
    type: str
    url: str


class PullRequestPropBasePropRepoPropPermissionsType(TypedDict):
    """PullRequestPropBasePropRepoPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    push: bool
    triage: NotRequired[bool]
    pull: bool


class PullRequestPropBasePropUserType(TypedDict):
    """PullRequestPropBasePropUser"""

    avatar_url: str
    events_url: str
    followers_url: str
    following_url: str
    gists_url: str
    gravatar_id: Union[str, None]
    html_url: str
    id: int
    node_id: str
    login: str
    organizations_url: str
    received_events_url: str
    repos_url: str
    site_admin: bool
    starred_url: str
    subscriptions_url: str
    type: str
    url: str


class PullRequestPropLinksType(TypedDict):
    """PullRequestPropLinks"""

    comments: LinkType
    commits: LinkType
    statuses: LinkType
    html: LinkType
    issue: LinkType
    review_comments: LinkType
    review_comment: LinkType
    self_: LinkType


class PullRequestMergeResultType(TypedDict):
    """Pull Request Merge Result

    Pull Request Merge Result
    """

    sha: str
    merged: bool
    message: str


class PullRequestReviewRequestType(TypedDict):
    """Pull Request Review Request

    Pull Request Review Request
    """

    users: List[SimpleUserType]
    teams: List[TeamType]


class PullRequestReviewType(TypedDict):
    """Pull Request Review

    Pull Request Reviews are reviews on pull requests.
    """

    id: int
    node_id: str
    user: Union[None, SimpleUserType]
    body: str
    state: str
    html_url: str
    pull_request_url: str
    links: PullRequestReviewPropLinksType
    submitted_at: NotRequired[datetime]
    commit_id: str
    body_html: NotRequired[str]
    body_text: NotRequired[str]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]


class PullRequestReviewPropLinksType(TypedDict):
    """PullRequestReviewPropLinks"""

    html: PullRequestReviewPropLinksPropHtmlType
    pull_request: PullRequestReviewPropLinksPropPullRequestType


class PullRequestReviewPropLinksPropHtmlType(TypedDict):
    """PullRequestReviewPropLinksPropHtml"""

    href: str


class PullRequestReviewPropLinksPropPullRequestType(TypedDict):
    """PullRequestReviewPropLinksPropPullRequest"""

    href: str


class ReviewCommentType(TypedDict):
    """Legacy Review Comment

    Legacy Review Comment
    """

    url: str
    pull_request_review_id: Union[int, None]
    id: int
    node_id: str
    diff_hunk: str
    path: str
    position: Union[int, None]
    original_position: int
    commit_id: str
    original_commit_id: str
    in_reply_to_id: NotRequired[int]
    user: Union[None, SimpleUserType]
    body: str
    created_at: datetime
    updated_at: datetime
    html_url: str
    pull_request_url: str
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    links: ReviewCommentPropLinksType
    body_text: NotRequired[str]
    body_html: NotRequired[str]
    reactions: NotRequired[ReactionRollupType]
    side: NotRequired[Literal["LEFT", "RIGHT"]]
    start_side: NotRequired[Union[None, Literal["LEFT", "RIGHT"]]]
    line: NotRequired[int]
    original_line: NotRequired[int]
    start_line: NotRequired[Union[int, None]]
    original_start_line: NotRequired[Union[int, None]]


class ReviewCommentPropLinksType(TypedDict):
    """ReviewCommentPropLinks"""

    self_: LinkType
    html: LinkType
    pull_request: LinkType


class ReleaseAssetType(TypedDict):
    """Release Asset

    Data related to a release.
    """

    url: str
    browser_download_url: str
    id: int
    node_id: str
    name: str
    label: Union[str, None]
    state: Literal["uploaded", "open"]
    content_type: str
    size: int
    download_count: int
    created_at: datetime
    updated_at: datetime
    uploader: Union[None, SimpleUserType]


class ReleaseType(TypedDict):
    """Release

    A release.
    """

    url: str
    html_url: str
    assets_url: str
    upload_url: str
    tarball_url: Union[str, None]
    zipball_url: Union[str, None]
    id: int
    node_id: str
    tag_name: str
    target_commitish: str
    name: Union[str, None]
    body: NotRequired[Union[str, None]]
    draft: bool
    prerelease: bool
    created_at: datetime
    published_at: Union[datetime, None]
    author: SimpleUserType
    assets: List[ReleaseAssetType]
    body_html: NotRequired[Union[str, None]]
    body_text: NotRequired[Union[str, None]]
    mentions_count: NotRequired[int]
    discussion_url: NotRequired[str]
    reactions: NotRequired[ReactionRollupType]


class ReleaseNotesContentType(TypedDict):
    """Generated Release Notes Content

    Generated name and body describing a release
    """

    name: str
    body: str


class SecretScanningAlertType(TypedDict):
    """SecretScanningAlert"""

    number: NotRequired[int]
    created_at: NotRequired[datetime]
    updated_at: NotRequired[datetime]
    url: NotRequired[str]
    html_url: NotRequired[str]
    locations_url: NotRequired[str]
    state: NotRequired[Literal["open", "resolved"]]
    resolution: NotRequired[
        Union[None, Literal["false_positive", "wont_fix", "revoked", "used_in_tests"]]
    ]
    resolved_at: NotRequired[Union[datetime, None]]
    resolved_by: NotRequired[Union[None, SimpleUserType]]
    resolution_comment: NotRequired[Union[str, None]]
    secret_type: NotRequired[str]
    secret_type_display_name: NotRequired[str]
    secret: NotRequired[str]
    push_protection_bypassed: NotRequired[Union[bool, None]]
    push_protection_bypassed_by: NotRequired[Union[None, SimpleUserType]]
    push_protection_bypassed_at: NotRequired[Union[datetime, None]]


class SecretScanningLocationCommitType(TypedDict):
    """SecretScanningLocationCommit

    Represents a 'commit' secret scanning location type. This location type shows
    that a secret was detected inside a commit to a repository.
    """

    path: str
    start_line: float
    end_line: float
    start_column: float
    end_column: float
    blob_sha: str
    blob_url: str
    commit_sha: str
    commit_url: str


class SecretScanningLocationType(TypedDict):
    """SecretScanningLocation"""

    type: Literal["commit"]
    details: SecretScanningLocationCommitType


class StargazerType(TypedDict):
    """Stargazer

    Stargazer
    """

    starred_at: datetime
    user: Union[None, SimpleUserType]


class CommitActivityType(TypedDict):
    """Commit Activity

    Commit Activity
    """

    days: List[int]
    total: int
    week: int


class ContributorActivityType(TypedDict):
    """Contributor Activity

    Contributor Activity
    """

    author: Union[None, SimpleUserType]
    total: int
    weeks: List[ContributorActivityPropWeeksItemsType]


class ContributorActivityPropWeeksItemsType(TypedDict):
    """ContributorActivityPropWeeksItems"""

    w: NotRequired[int]
    a: NotRequired[int]
    d: NotRequired[int]
    c: NotRequired[int]


class ParticipationStatsType(TypedDict):
    """Participation Stats"""

    all_: List[int]
    owner: List[int]


class RepositorySubscriptionType(TypedDict):
    """Repository Invitation

    Repository invitations let you manage who you collaborate with.
    """

    subscribed: bool
    ignored: bool
    reason: Union[str, None]
    created_at: datetime
    url: str
    repository_url: str


class TagType(TypedDict):
    """Tag

    Tag
    """

    name: str
    commit: TagPropCommitType
    zipball_url: str
    tarball_url: str
    node_id: str


class TagPropCommitType(TypedDict):
    """TagPropCommit"""

    sha: str
    url: str


class TagProtectionType(TypedDict):
    """Tag protection

    Tag protection
    """

    id: NotRequired[int]
    created_at: NotRequired[str]
    updated_at: NotRequired[str]
    enabled: NotRequired[bool]
    pattern: str


class TopicType(TypedDict):
    """Topic

    A topic aggregates entities that are related to a subject.
    """

    names: List[str]


class TrafficType(TypedDict):
    """Traffic"""

    timestamp: datetime
    uniques: int
    count: int


class CloneTrafficType(TypedDict):
    """Clone Traffic

    Clone Traffic
    """

    count: int
    uniques: int
    clones: List[TrafficType]


class ContentTrafficType(TypedDict):
    """Content Traffic

    Content Traffic
    """

    path: str
    title: str
    count: int
    uniques: int


class ReferrerTrafficType(TypedDict):
    """Referrer Traffic

    Referrer Traffic
    """

    referrer: str
    count: int
    uniques: int


class ViewTrafficType(TypedDict):
    """View Traffic

    View Traffic
    """

    count: int
    uniques: int
    views: List[TrafficType]


class SearchResultTextMatchesItemsType(TypedDict):
    """SearchResultTextMatchesItems"""

    object_url: NotRequired[str]
    object_type: NotRequired[Union[str, None]]
    property_: NotRequired[str]
    fragment: NotRequired[str]
    matches: NotRequired[List[SearchResultTextMatchesItemsPropMatchesItemsType]]


class SearchResultTextMatchesItemsPropMatchesItemsType(TypedDict):
    """SearchResultTextMatchesItemsPropMatchesItems"""

    text: NotRequired[str]
    indices: NotRequired[List[int]]


class CodeSearchResultItemType(TypedDict):
    """Code Search Result Item

    Code Search Result Item
    """

    name: str
    path: str
    sha: str
    url: str
    git_url: str
    html_url: str
    repository: MinimalRepositoryType
    score: float
    file_size: NotRequired[int]
    language: NotRequired[Union[str, None]]
    last_modified_at: NotRequired[datetime]
    line_numbers: NotRequired[List[str]]
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]


class CommitSearchResultItemType(TypedDict):
    """Commit Search Result Item

    Commit Search Result Item
    """

    url: str
    sha: str
    html_url: str
    comments_url: str
    commit: CommitSearchResultItemPropCommitType
    author: Union[None, SimpleUserType]
    committer: Union[None, GitUserType]
    parents: List[CommitSearchResultItemPropParentsItemsType]
    repository: MinimalRepositoryType
    score: float
    node_id: str
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]


class CommitSearchResultItemPropCommitType(TypedDict):
    """CommitSearchResultItemPropCommit"""

    author: CommitSearchResultItemPropCommitPropAuthorType
    committer: Union[None, GitUserType]
    comment_count: int
    message: str
    tree: CommitSearchResultItemPropCommitPropTreeType
    url: str
    verification: NotRequired[VerificationType]


class CommitSearchResultItemPropCommitPropAuthorType(TypedDict):
    """CommitSearchResultItemPropCommitPropAuthor"""

    name: str
    email: str
    date: datetime


class CommitSearchResultItemPropCommitPropTreeType(TypedDict):
    """CommitSearchResultItemPropCommitPropTree"""

    sha: str
    url: str


class CommitSearchResultItemPropParentsItemsType(TypedDict):
    """CommitSearchResultItemPropParentsItems"""

    url: NotRequired[str]
    html_url: NotRequired[str]
    sha: NotRequired[str]


class IssueSearchResultItemType(TypedDict):
    """Issue Search Result Item

    Issue Search Result Item
    """

    url: str
    repository_url: str
    labels_url: str
    comments_url: str
    events_url: str
    html_url: str
    id: int
    node_id: str
    number: int
    title: str
    locked: bool
    active_lock_reason: NotRequired[Union[str, None]]
    assignees: NotRequired[Union[List[SimpleUserType], None]]
    user: Union[None, SimpleUserType]
    labels: List[IssueSearchResultItemPropLabelsItemsType]
    state: str
    state_reason: NotRequired[Union[str, None]]
    assignee: Union[None, SimpleUserType]
    milestone: Union[None, MilestoneType]
    comments: int
    created_at: datetime
    updated_at: datetime
    closed_at: Union[datetime, None]
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]
    pull_request: NotRequired[IssueSearchResultItemPropPullRequestType]
    body: NotRequired[str]
    score: float
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    draft: NotRequired[bool]
    repository: NotRequired[RepositoryType]
    body_html: NotRequired[str]
    body_text: NotRequired[str]
    timeline_url: NotRequired[str]
    performed_via_github_app: NotRequired[Union[None, IntegrationType]]
    reactions: NotRequired[ReactionRollupType]


class IssueSearchResultItemPropLabelsItemsType(TypedDict):
    """IssueSearchResultItemPropLabelsItems"""

    id: NotRequired[int]
    node_id: NotRequired[str]
    url: NotRequired[str]
    name: NotRequired[str]
    color: NotRequired[str]
    default: NotRequired[bool]
    description: NotRequired[Union[str, None]]


class IssueSearchResultItemPropPullRequestType(TypedDict):
    """IssueSearchResultItemPropPullRequest"""

    merged_at: NotRequired[Union[datetime, None]]
    diff_url: Union[str, None]
    html_url: Union[str, None]
    patch_url: Union[str, None]
    url: Union[str, None]


class LabelSearchResultItemType(TypedDict):
    """Label Search Result Item

    Label Search Result Item
    """

    id: int
    node_id: str
    url: str
    name: str
    color: str
    default: bool
    description: Union[str, None]
    score: float
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]


class RepoSearchResultItemType(TypedDict):
    """Repo Search Result Item

    Repo Search Result Item
    """

    id: int
    node_id: str
    name: str
    full_name: str
    owner: Union[None, SimpleUserType]
    private: bool
    html_url: str
    description: Union[str, None]
    fork: bool
    url: str
    created_at: datetime
    updated_at: datetime
    pushed_at: datetime
    homepage: Union[str, None]
    size: int
    stargazers_count: int
    watchers_count: int
    language: Union[str, None]
    forks_count: int
    open_issues_count: int
    master_branch: NotRequired[str]
    default_branch: str
    score: float
    forks_url: str
    keys_url: str
    collaborators_url: str
    teams_url: str
    hooks_url: str
    issue_events_url: str
    events_url: str
    assignees_url: str
    branches_url: str
    tags_url: str
    blobs_url: str
    git_tags_url: str
    git_refs_url: str
    trees_url: str
    statuses_url: str
    languages_url: str
    stargazers_url: str
    contributors_url: str
    subscribers_url: str
    subscription_url: str
    commits_url: str
    git_commits_url: str
    comments_url: str
    issue_comment_url: str
    contents_url: str
    compare_url: str
    merges_url: str
    archive_url: str
    downloads_url: str
    issues_url: str
    pulls_url: str
    milestones_url: str
    notifications_url: str
    labels_url: str
    releases_url: str
    deployments_url: str
    git_url: str
    ssh_url: str
    clone_url: str
    svn_url: str
    forks: int
    open_issues: int
    watchers: int
    topics: NotRequired[List[str]]
    mirror_url: Union[str, None]
    has_issues: bool
    has_projects: bool
    has_pages: bool
    has_wiki: bool
    has_downloads: bool
    archived: bool
    disabled: bool
    visibility: NotRequired[str]
    license_: Union[None, LicenseSimpleType]
    permissions: NotRequired[RepoSearchResultItemPropPermissionsType]
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]
    temp_clone_token: NotRequired[str]
    allow_merge_commit: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    is_template: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]


class RepoSearchResultItemPropPermissionsType(TypedDict):
    """RepoSearchResultItemPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    push: bool
    triage: NotRequired[bool]
    pull: bool


class TopicSearchResultItemType(TypedDict):
    """Topic Search Result Item

    Topic Search Result Item
    """

    name: str
    display_name: Union[str, None]
    short_description: Union[str, None]
    description: Union[str, None]
    created_by: Union[str, None]
    released: Union[str, None]
    created_at: datetime
    updated_at: datetime
    featured: bool
    curated: bool
    score: float
    repository_count: NotRequired[Union[int, None]]
    logo_url: NotRequired[Union[str, None]]
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]
    related: NotRequired[Union[List[TopicSearchResultItemPropRelatedItemsType], None]]
    aliases: NotRequired[Union[List[TopicSearchResultItemPropAliasesItemsType], None]]


class TopicSearchResultItemPropRelatedItemsType(TypedDict):
    """TopicSearchResultItemPropRelatedItems"""

    topic_relation: NotRequired[
        TopicSearchResultItemPropRelatedItemsPropTopicRelationType
    ]


class TopicSearchResultItemPropRelatedItemsPropTopicRelationType(TypedDict):
    """TopicSearchResultItemPropRelatedItemsPropTopicRelation"""

    id: NotRequired[int]
    name: NotRequired[str]
    topic_id: NotRequired[int]
    relation_type: NotRequired[str]


class TopicSearchResultItemPropAliasesItemsType(TypedDict):
    """TopicSearchResultItemPropAliasesItems"""

    topic_relation: NotRequired[
        TopicSearchResultItemPropAliasesItemsPropTopicRelationType
    ]


class TopicSearchResultItemPropAliasesItemsPropTopicRelationType(TypedDict):
    """TopicSearchResultItemPropAliasesItemsPropTopicRelation"""

    id: NotRequired[int]
    name: NotRequired[str]
    topic_id: NotRequired[int]
    relation_type: NotRequired[str]


class UserSearchResultItemType(TypedDict):
    """User Search Result Item

    User Search Result Item
    """

    login: str
    id: int
    node_id: str
    avatar_url: str
    gravatar_id: Union[str, None]
    url: str
    html_url: str
    followers_url: str
    subscriptions_url: str
    organizations_url: str
    repos_url: str
    received_events_url: str
    type: str
    score: float
    following_url: str
    gists_url: str
    starred_url: str
    events_url: str
    public_repos: NotRequired[int]
    public_gists: NotRequired[int]
    followers: NotRequired[int]
    following: NotRequired[int]
    created_at: NotRequired[datetime]
    updated_at: NotRequired[datetime]
    name: NotRequired[Union[str, None]]
    bio: NotRequired[Union[str, None]]
    email: NotRequired[Union[str, None]]
    location: NotRequired[Union[str, None]]
    site_admin: bool
    hireable: NotRequired[Union[bool, None]]
    text_matches: NotRequired[List[SearchResultTextMatchesItemsType]]
    blog: NotRequired[Union[str, None]]
    company: NotRequired[Union[str, None]]
    suspended_at: NotRequired[Union[datetime, None]]


class PrivateUserType(TypedDict):
    """Private User

    Private User
    """

    login: str
    id: int
    node_id: str
    avatar_url: str
    gravatar_id: Union[str, None]
    url: str
    html_url: str
    followers_url: str
    following_url: str
    gists_url: str
    starred_url: str
    subscriptions_url: str
    organizations_url: str
    repos_url: str
    events_url: str
    received_events_url: str
    type: str
    site_admin: bool
    name: Union[str, None]
    company: Union[str, None]
    blog: Union[str, None]
    location: Union[str, None]
    email: Union[str, None]
    hireable: Union[bool, None]
    bio: Union[str, None]
    twitter_username: NotRequired[Union[str, None]]
    public_repos: int
    public_gists: int
    followers: int
    following: int
    created_at: datetime
    updated_at: datetime
    private_gists: int
    total_private_repos: int
    owned_private_repos: int
    disk_usage: int
    collaborators: int
    two_factor_authentication: bool
    plan: NotRequired[PrivateUserPropPlanType]
    suspended_at: NotRequired[Union[datetime, None]]
    business_plus: NotRequired[bool]
    ldap_dn: NotRequired[str]


class PrivateUserPropPlanType(TypedDict):
    """PrivateUserPropPlan"""

    collaborators: int
    name: str
    space: int
    private_repos: int


class CodespacesSecretType(TypedDict):
    """Codespaces Secret

    Secrets for a GitHub Codespace.
    """

    name: str
    created_at: datetime
    updated_at: datetime
    visibility: Literal["all", "private", "selected"]
    selected_repositories_url: str


class CodespacesUserPublicKeyType(TypedDict):
    """CodespacesUserPublicKey

    The public key used for setting user Codespaces' Secrets.
    """

    key_id: str
    key: str


class CodespaceExportDetailsType(TypedDict):
    """Fetches information about an export of a codespace.

    An export of a codespace. Also, latest export details for a codespace can be
    fetched with id = latest
    """

    state: NotRequired[Union[str, None]]
    completed_at: NotRequired[Union[datetime, None]]
    branch: NotRequired[Union[str, None]]
    sha: NotRequired[Union[str, None]]
    id: NotRequired[str]
    export_url: NotRequired[str]
    html_url: NotRequired[Union[str, None]]


class EmailType(TypedDict):
    """Email

    Email
    """

    email: str
    primary: bool
    verified: bool
    visibility: Union[str, None]


class GpgKeyType(TypedDict):
    """GPG Key

    A unique encryption key
    """

    id: int
    name: NotRequired[Union[str, None]]
    primary_key_id: Union[int, None]
    key_id: str
    public_key: str
    emails: List[GpgKeyPropEmailsItemsType]
    subkeys: List[GpgKeyPropSubkeysItemsType]
    can_sign: bool
    can_encrypt_comms: bool
    can_encrypt_storage: bool
    can_certify: bool
    created_at: datetime
    expires_at: Union[datetime, None]
    revoked: bool
    raw_key: Union[str, None]


class GpgKeyPropEmailsItemsType(TypedDict):
    """GpgKeyPropEmailsItems"""

    email: NotRequired[str]
    verified: NotRequired[bool]


class GpgKeyPropSubkeysItemsType(TypedDict):
    """GpgKeyPropSubkeysItems"""

    id: NotRequired[int]
    primary_key_id: NotRequired[int]
    key_id: NotRequired[str]
    public_key: NotRequired[str]
    emails: NotRequired[List[Any]]
    subkeys: NotRequired[List[Any]]
    can_sign: NotRequired[bool]
    can_encrypt_comms: NotRequired[bool]
    can_encrypt_storage: NotRequired[bool]
    can_certify: NotRequired[bool]
    created_at: NotRequired[str]
    expires_at: NotRequired[Union[str, None]]
    raw_key: NotRequired[Union[str, None]]
    revoked: NotRequired[bool]


class KeyType(TypedDict):
    """Key

    Key
    """

    key: str
    id: int
    url: str
    title: str
    created_at: datetime
    verified: bool
    read_only: bool


class MarketplaceAccountType(TypedDict):
    """Marketplace Account"""

    url: str
    id: int
    type: str
    node_id: NotRequired[str]
    login: str
    email: NotRequired[Union[str, None]]
    organization_billing_email: NotRequired[Union[str, None]]


class UserMarketplacePurchaseType(TypedDict):
    """User Marketplace Purchase

    User Marketplace Purchase
    """

    billing_cycle: str
    next_billing_date: Union[datetime, None]
    unit_count: Union[int, None]
    on_free_trial: bool
    free_trial_ends_on: Union[datetime, None]
    updated_at: Union[datetime, None]
    account: MarketplaceAccountType
    plan: MarketplaceListingPlanType


class SshSigningKeyType(TypedDict):
    """SSH Signing Key

    A public SSH key used to sign Git commits
    """

    key: str
    id: int
    title: str
    created_at: datetime


class StarredRepositoryType(TypedDict):
    """Starred Repository

    Starred Repository
    """

    starred_at: datetime
    repo: RepositoryType


class HovercardType(TypedDict):
    """Hovercard

    Hovercard
    """

    contexts: List[HovercardPropContextsItemsType]


class HovercardPropContextsItemsType(TypedDict):
    """HovercardPropContextsItems"""

    message: str
    octicon: str


class KeySimpleType(TypedDict):
    """Key Simple

    Key Simple
    """

    id: int
    key: str


class SimpleInstallationType(TypedDict):
    """Simple Installation

    Simple Installation
    """

    id: int
    node_id: str


class WebhookBranchProtectionRuleCreatedType(TypedDict):
    """branch protection rule created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    rule: WebhookBranchProtectionRuleCreatedPropRuleType
    sender: SimpleUserType


class WebhookBranchProtectionRuleCreatedPropRuleType(TypedDict):
    """branch protection rule

    The branch protection rule. Includes a `name` and all the [branch protection
    settings](https://docs.github.com/en/github/administering-a-repository/defining-
    the-mergeability-of-pull-requests/about-protected-branches#about-branch-
    protection-settings) applied to branches that match the name. Binary settings
    are boolean. Multi-level configurations are one of `off`, `non_admins`, or
    `everyone`. Actor and build lists are arrays of strings.
    """

    admin_enforced: bool
    allow_deletions_enforcement_level: Literal["off", "non_admins", "everyone"]
    allow_force_pushes_enforcement_level: Literal["off", "non_admins", "everyone"]
    authorized_actor_names: List[str]
    authorized_actors_only: bool
    authorized_dismissal_actors_only: bool
    create_protected: NotRequired[bool]
    created_at: datetime
    dismiss_stale_reviews_on_push: bool
    id: int
    ignore_approvals_from_contributors: bool
    linear_history_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ]
    merge_queue_enforcement_level: Literal["off", "non_admins", "everyone"]
    name: str
    pull_request_reviews_enforcement_level: Literal["off", "non_admins", "everyone"]
    repository_id: int
    require_code_owner_review: bool
    required_approving_review_count: int
    required_conversation_resolution_level: Literal["off", "non_admins", "everyone"]
    required_deployments_enforcement_level: Literal["off", "non_admins", "everyone"]
    required_status_checks: List[str]
    required_status_checks_enforcement_level: Literal["off", "non_admins", "everyone"]
    signature_requirement_enforcement_level: Literal["off", "non_admins", "everyone"]
    strict_required_status_checks_policy: bool
    updated_at: datetime


class WebhookBranchProtectionRuleDeletedType(TypedDict):
    """branch protection rule deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    rule: WebhookBranchProtectionRuleDeletedPropRuleType
    sender: SimpleUserType


class WebhookBranchProtectionRuleDeletedPropRuleType(TypedDict):
    """branch protection rule

    The branch protection rule. Includes a `name` and all the [branch protection
    settings](https://docs.github.com/en/github/administering-a-repository/defining-
    the-mergeability-of-pull-requests/about-protected-branches#about-branch-
    protection-settings) applied to branches that match the name. Binary settings
    are boolean. Multi-level configurations are one of `off`, `non_admins`, or
    `everyone`. Actor and build lists are arrays of strings.
    """

    admin_enforced: bool
    allow_deletions_enforcement_level: Literal["off", "non_admins", "everyone"]
    allow_force_pushes_enforcement_level: Literal["off", "non_admins", "everyone"]
    authorized_actor_names: List[str]
    authorized_actors_only: bool
    authorized_dismissal_actors_only: bool
    create_protected: NotRequired[bool]
    created_at: datetime
    dismiss_stale_reviews_on_push: bool
    id: int
    ignore_approvals_from_contributors: bool
    linear_history_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ]
    merge_queue_enforcement_level: Literal["off", "non_admins", "everyone"]
    name: str
    pull_request_reviews_enforcement_level: Literal["off", "non_admins", "everyone"]
    repository_id: int
    require_code_owner_review: bool
    required_approving_review_count: int
    required_conversation_resolution_level: Literal["off", "non_admins", "everyone"]
    required_deployments_enforcement_level: Literal["off", "non_admins", "everyone"]
    required_status_checks: List[str]
    required_status_checks_enforcement_level: Literal["off", "non_admins", "everyone"]
    signature_requirement_enforcement_level: Literal["off", "non_admins", "everyone"]
    strict_required_status_checks_policy: bool
    updated_at: datetime


class WebhookBranchProtectionRuleEditedType(TypedDict):
    """branch protection rule edited event"""

    action: Literal["edited"]
    changes: NotRequired[WebhookBranchProtectionRuleEditedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    rule: WebhookBranchProtectionRuleEditedPropRuleType
    sender: SimpleUserType


class WebhookBranchProtectionRuleEditedPropChangesType(TypedDict):
    """WebhookBranchProtectionRuleEditedPropChanges

    If the action was `edited`, the changes to the rule.
    """

    admin_enforced: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforcedType
    ]
    authorized_actor_names: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNamesType
    ]
    authorized_actors_only: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnlyType
    ]
    authorized_dismissal_actors_only: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnlyType
    ]
    linear_history_requirement_enforcement_level: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevelType
    ]
    required_status_checks: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksType
    ]
    required_status_checks_enforcement_level: NotRequired[
        WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevelType
    ]


class WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforcedType(TypedDict):
    """WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforced"""

    from_: Union[bool, None]


class WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNamesType(
    TypedDict
):
    """WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNames"""

    from_: List[str]


class WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnlyType(
    TypedDict
):
    """WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnly"""

    from_: Union[bool, None]


class WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnlyType(
    TypedDict
):
    """WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnly"""

    from_: Union[bool, None]


class WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevelType(
    TypedDict
):
    """WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcem
    entLevel
    """

    from_: Literal["off", "non_admins", "everyone"]


class WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksType(
    TypedDict
):
    """WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecks"""

    from_: List[str]


class WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevelType(
    TypedDict
):
    """WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementL
    evel
    """

    from_: Literal["off", "non_admins", "everyone"]


class WebhookBranchProtectionRuleEditedPropRuleType(TypedDict):
    """branch protection rule

    The branch protection rule. Includes a `name` and all the [branch protection
    settings](https://docs.github.com/en/github/administering-a-repository/defining-
    the-mergeability-of-pull-requests/about-protected-branches#about-branch-
    protection-settings) applied to branches that match the name. Binary settings
    are boolean. Multi-level configurations are one of `off`, `non_admins`, or
    `everyone`. Actor and build lists are arrays of strings.
    """

    admin_enforced: bool
    allow_deletions_enforcement_level: Literal["off", "non_admins", "everyone"]
    allow_force_pushes_enforcement_level: Literal["off", "non_admins", "everyone"]
    authorized_actor_names: List[str]
    authorized_actors_only: bool
    authorized_dismissal_actors_only: bool
    create_protected: NotRequired[bool]
    created_at: datetime
    dismiss_stale_reviews_on_push: bool
    id: int
    ignore_approvals_from_contributors: bool
    linear_history_requirement_enforcement_level: Literal[
        "off", "non_admins", "everyone"
    ]
    merge_queue_enforcement_level: Literal["off", "non_admins", "everyone"]
    name: str
    pull_request_reviews_enforcement_level: Literal["off", "non_admins", "everyone"]
    repository_id: int
    require_code_owner_review: bool
    required_approving_review_count: int
    required_conversation_resolution_level: Literal["off", "non_admins", "everyone"]
    required_deployments_enforcement_level: Literal["off", "non_admins", "everyone"]
    required_status_checks: List[str]
    required_status_checks_enforcement_level: Literal["off", "non_admins", "everyone"]
    signature_requirement_enforcement_level: Literal["off", "non_admins", "everyone"]
    strict_required_status_checks_policy: bool
    updated_at: datetime


class WebhookDependabotAlertCreatedType(TypedDict):
    """Dependabot alert created event"""

    action: Literal["created"]
    alert: DependabotAlertType
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    enterprise: NotRequired[EnterpriseType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookDependabotAlertDismissedType(TypedDict):
    """Dependabot alert dismissed event"""

    action: Literal["dismissed"]
    alert: DependabotAlertType
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    enterprise: NotRequired[EnterpriseType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookDependabotAlertFixedType(TypedDict):
    """Dependabot alert fixed event"""

    action: Literal["fixed"]
    alert: DependabotAlertType
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    enterprise: NotRequired[EnterpriseType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookDependabotAlertReintroducedType(TypedDict):
    """Dependabot alert reintroduced event"""

    action: Literal["reintroduced"]
    alert: DependabotAlertType
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    enterprise: NotRequired[EnterpriseType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookDependabotAlertReopenedType(TypedDict):
    """Dependabot alert reopened event"""

    action: Literal["reopened"]
    alert: DependabotAlertType
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    enterprise: NotRequired[EnterpriseType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookGollumType(TypedDict):
    """gollum event

    A wiki page is created or updated.
    """

    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    pages: List[WebhookGollumPropPagesItemsType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookGollumPropPagesItemsType(TypedDict):
    """WebhookGollumPropPagesItems"""

    action: Literal["created", "edited"]
    html_url: str
    page_name: str
    sha: str
    summary: Union[str, None]
    title: str


class WebhookIssueCommentCreatedType(TypedDict):
    """issue_comment created event"""

    action: Literal["created"]
    comment: WebhookIssueCommentCreatedPropCommentType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssueCommentCreatedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssueCommentCreatedPropCommentType(TypedDict):
    """issue comment

    The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.
    """

    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: str
    created_at: datetime
    html_url: str
    id: int
    issue_url: str
    node_id: str
    performed_via_github_app: Union[None, IntegrationType]
    reactions: WebhookIssueCommentCreatedPropCommentPropReactionsType
    updated_at: datetime
    url: str
    user: Union[WebhookIssueCommentCreatedPropCommentPropUserType, None]


class WebhookIssueCommentCreatedPropCommentPropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentCreatedPropCommentPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueType(TypedDict):
    """WebhookIssueCommentCreatedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) the comment
    belongs to.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: Union[
        Union[WebhookIssueCommentCreatedPropIssueAllof0PropAssigneeType, None], None
    ]
    assignees: List[WebhookIssueCommentCreatedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: List[WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItemsType]
    labels_url: str
    locked: bool
    milestone: Union[WebhookIssueCommentCreatedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[
        WebhookIssueCommentCreatedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssueCommentCreatedPropIssueMergedReactionsType
    repository_url: str
    state: Literal["open", "closed"]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssueCommentCreatedPropIssueMergedUserType


class WebhookIssueCommentCreatedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssueCommentCreatedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[
        List[WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItemsType]
    ]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssueCommentCreatedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppType, None
        ]
    ]
    pull_request: NotRequired[
        WebhookIssueCommentCreatedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssueCommentCreatedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssueCommentCreatedPropIssueAllof0PropUserType, None]


class WebhookIssueCommentCreatedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermission
    s

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write", "admin"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssueCommentCreatedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentCreatedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof1Type(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: Union[WebhookIssueCommentCreatedPropIssueAllof1PropAssigneeType, None]
    assignees: NotRequired[
        List[
            Union[WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItemsType, None]
        ]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: List[WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItemsType]
    labels_url: NotRequired[str]
    locked: bool
    milestone: NotRequired[
        Union[WebhookIssueCommentCreatedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubAppType, None
        ]
    ]
    reactions: NotRequired[WebhookIssueCommentCreatedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: Literal["open", "closed"]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssueCommentCreatedPropIssueAllof1PropUserType]


class WebhookIssueCommentCreatedPropIssueAllof1PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItems"""


class WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssueCommentCreatedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof1PropMilestone"""


class WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssueCommentCreatedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentCreatedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssueCommentCreatedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentCreatedPropIssueMergedUserType(TypedDict):
    """WebhookIssueCommentCreatedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedType(TypedDict):
    """issue_comment deleted event"""

    action: Literal["deleted"]
    comment: WebhookIssueCommentDeletedPropCommentType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssueCommentDeletedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssueCommentDeletedPropCommentType(TypedDict):
    """issue comment

    The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.
    """

    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: str
    created_at: datetime
    html_url: str
    id: int
    issue_url: str
    node_id: str
    performed_via_github_app: Union[None, IntegrationType]
    reactions: WebhookIssueCommentDeletedPropCommentPropReactionsType
    updated_at: datetime
    url: str
    user: Union[WebhookIssueCommentDeletedPropCommentPropUserType, None]


class WebhookIssueCommentDeletedPropCommentPropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentDeletedPropCommentPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueType(TypedDict):
    """WebhookIssueCommentDeletedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) the comment
    belongs to.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: Union[
        Union[WebhookIssueCommentDeletedPropIssueAllof0PropAssigneeType, None], None
    ]
    assignees: List[WebhookIssueCommentDeletedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: List[WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItemsType]
    labels_url: str
    locked: bool
    milestone: Union[WebhookIssueCommentDeletedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[
        WebhookIssueCommentDeletedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssueCommentDeletedPropIssueMergedReactionsType
    repository_url: str
    state: Literal["open", "closed"]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssueCommentDeletedPropIssueMergedUserType


class WebhookIssueCommentDeletedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssueCommentDeletedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[
        List[WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItemsType]
    ]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssueCommentDeletedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppType, None
        ]
    ]
    pull_request: NotRequired[
        WebhookIssueCommentDeletedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssueCommentDeletedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssueCommentDeletedPropIssueAllof0PropUserType, None]


class WebhookIssueCommentDeletedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermission
    s

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssueCommentDeletedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentDeletedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof1Type(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: Union[WebhookIssueCommentDeletedPropIssueAllof1PropAssigneeType, None]
    assignees: NotRequired[
        List[
            Union[WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItemsType, None]
        ]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: List[WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItemsType]
    labels_url: NotRequired[str]
    locked: bool
    milestone: NotRequired[
        Union[WebhookIssueCommentDeletedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubAppType, None
        ]
    ]
    reactions: NotRequired[WebhookIssueCommentDeletedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: Literal["open", "closed"]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssueCommentDeletedPropIssueAllof1PropUserType]


class WebhookIssueCommentDeletedPropIssueAllof1PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItems"""


class WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssueCommentDeletedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof1PropMilestone"""


class WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssueCommentDeletedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentDeletedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssueCommentDeletedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentDeletedPropIssueMergedUserType(TypedDict):
    """WebhookIssueCommentDeletedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedType(TypedDict):
    """issue_comment edited event"""

    action: Literal["edited"]
    changes: WebhookIssueCommentEditedPropChangesType
    comment: WebhookIssueCommentEditedPropCommentType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssueCommentEditedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssueCommentEditedPropChangesType(TypedDict):
    """WebhookIssueCommentEditedPropChanges

    The changes to the comment.
    """

    body: NotRequired[WebhookIssueCommentEditedPropChangesPropBodyType]


class WebhookIssueCommentEditedPropChangesPropBodyType(TypedDict):
    """WebhookIssueCommentEditedPropChangesPropBody"""

    from_: str


class WebhookIssueCommentEditedPropCommentType(TypedDict):
    """issue comment

    The [comment](https://docs.github.com/en/rest/reference/issues#comments) itself.
    """

    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: str
    created_at: datetime
    html_url: str
    id: int
    issue_url: str
    node_id: str
    performed_via_github_app: Union[None, IntegrationType]
    reactions: WebhookIssueCommentEditedPropCommentPropReactionsType
    updated_at: datetime
    url: str
    user: Union[WebhookIssueCommentEditedPropCommentPropUserType, None]


class WebhookIssueCommentEditedPropCommentPropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentEditedPropCommentPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueType(TypedDict):
    """WebhookIssueCommentEditedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) the comment
    belongs to.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: Union[
        Union[WebhookIssueCommentEditedPropIssueAllof0PropAssigneeType, None], None
    ]
    assignees: List[WebhookIssueCommentEditedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: List[WebhookIssueCommentEditedPropIssueAllof0PropLabelsItemsType]
    labels_url: str
    locked: bool
    milestone: Union[WebhookIssueCommentEditedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[
        WebhookIssueCommentEditedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssueCommentEditedPropIssueMergedReactionsType
    repository_url: str
    state: Literal["open", "closed"]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssueCommentEditedPropIssueMergedUserType


class WebhookIssueCommentEditedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssueCommentEditedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[
        List[WebhookIssueCommentEditedPropIssueAllof0PropLabelsItemsType]
    ]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssueCommentEditedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppType, None
        ]
    ]
    pull_request: NotRequired[
        WebhookIssueCommentEditedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssueCommentEditedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssueCommentEditedPropIssueAllof0PropUserType, None]


class WebhookIssueCommentEditedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssueCommentEditedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentEditedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof1Type(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: Union[WebhookIssueCommentEditedPropIssueAllof1PropAssigneeType, None]
    assignees: NotRequired[
        List[
            Union[WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItemsType, None]
        ]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: List[WebhookIssueCommentEditedPropIssueAllof1PropLabelsItemsType]
    labels_url: NotRequired[str]
    locked: bool
    milestone: NotRequired[
        Union[WebhookIssueCommentEditedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubAppType, None
        ]
    ]
    reactions: NotRequired[WebhookIssueCommentEditedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: Literal["open", "closed"]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssueCommentEditedPropIssueAllof1PropUserType]


class WebhookIssueCommentEditedPropIssueAllof1PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItems"""


class WebhookIssueCommentEditedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssueCommentEditedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof1PropMilestone"""


class WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssueCommentEditedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssueCommentEditedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssueCommentEditedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssueCommentEditedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssueCommentEditedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssueCommentEditedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssueCommentEditedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssueCommentEditedPropIssueMergedUserType(TypedDict):
    """WebhookIssueCommentEditedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesAssignedType(TypedDict):
    """issues assigned event"""

    action: Literal["assigned"]
    assignee: NotRequired[Union[WebhookIssuesAssignedPropAssigneeType, None]]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesAssignedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesAssignedPropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesAssignedPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesAssignedPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesAssignedPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesAssignedPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesAssignedPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesAssignedPropIssuePropPullRequestType]
    reactions: WebhookIssuesAssignedPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesAssignedPropIssuePropUserType, None]


class WebhookIssuesAssignedPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesAssignedPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesAssignedPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesAssignedPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesAssignedPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesAssignedPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesAssignedPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesAssignedPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesAssignedPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesAssignedPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedType(TypedDict):
    """issues closed event"""

    action: Literal["closed"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesClosedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesClosedPropIssueType(TypedDict):
    """WebhookIssuesClosedPropIssue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: NotRequired[Union[WebhookIssuesClosedPropIssueMergedAssigneeType, None]]
    assignees: List[WebhookIssuesClosedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesClosedPropIssueMergedLabelsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesClosedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesClosedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesClosedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesClosedPropIssueMergedReactionsType
    repository_url: str
    state: Literal["open", "closed"]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesClosedPropIssueMergedUserType


class WebhookIssuesClosedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesClosedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesClosedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesClosedPropIssueAllof0PropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesClosedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesClosedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesClosedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesClosedPropIssueAllof0PropUserType, None]


class WebhookIssuesClosedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "security_and_analysis",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesClosedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesClosedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: NotRequired[
        Union[WebhookIssuesClosedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[Union[WebhookIssuesClosedPropIssueAllof1PropAssigneesItemsType, None]]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: Union[str, None]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesClosedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: NotRequired[bool]
    milestone: NotRequired[
        Union[WebhookIssuesClosedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubAppType, None]
    ]
    reactions: NotRequired[WebhookIssuesClosedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: Literal["closed", "open"]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesClosedPropIssueAllof1PropUserType]


class WebhookIssuesClosedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropAssignee"""


class WebhookIssuesClosedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesClosedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesClosedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropMilestone"""


class WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesClosedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesClosedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesClosedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesClosedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesClosedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "security_and_analysis",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesClosedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesClosedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesClosedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDeletedType(TypedDict):
    """issues deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesDeletedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesDeletedPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesDeletedPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesDeletedPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesDeletedPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesDeletedPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesDeletedPropIssuePropPullRequestType]
    reactions: WebhookIssuesDeletedPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesDeletedPropIssuePropUserType, None]


class WebhookIssuesDeletedPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesDeletedPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesDeletedPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesDeletedPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesDeletedPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesDeletedPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesDeletedPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesDeletedPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesDeletedPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesDeletedPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedType(TypedDict):
    """issues demilestoned event"""

    action: Literal["demilestoned"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesDemilestonedPropIssueType
    milestone: NotRequired[WebhookIssuesDemilestonedPropMilestoneType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesDemilestonedPropIssueType(TypedDict):
    """WebhookIssuesDemilestonedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: NotRequired[
        Union[WebhookIssuesDemilestonedPropIssueMergedAssigneeType, None]
    ]
    assignees: List[WebhookIssuesDemilestonedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesDemilestonedPropIssueMergedLabelsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[
        Union[WebhookIssuesDemilestonedPropIssueAllof0PropMilestoneType, None], None
    ]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[
        WebhookIssuesDemilestonedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssuesDemilestonedPropIssueMergedReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesDemilestonedPropIssueMergedUserType


class WebhookIssuesDemilestonedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesDemilestonedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[
        List[WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItemsType]
    ]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesDemilestonedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppType, None
        ]
    ]
    pull_request: NotRequired[
        WebhookIssuesDemilestonedPropIssueAllof0PropPullRequestType
    ]
    reactions: WebhookIssuesDemilestonedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesDemilestonedPropIssueAllof0PropUserType, None]


class WebhookIssuesDemilestonedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesDemilestonedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesDemilestonedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: NotRequired[
        Union[WebhookIssuesDemilestonedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[
            Union[WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItemsType, None]
        ]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesDemilestonedPropIssueAllof1PropMilestoneType, None]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubAppType, None
        ]
    ]
    reactions: NotRequired[WebhookIssuesDemilestonedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: NotRequired[str]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesDemilestonedPropIssueAllof1PropUserType]


class WebhookIssuesDemilestonedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1PropAssignee"""


class WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof1PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesDemilestonedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesDemilestonedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesDemilestonedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesDemilestonedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesDemilestonedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesDemilestonedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesDemilestonedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesEditedType(TypedDict):
    """issues edited event"""

    action: Literal["edited"]
    changes: WebhookIssuesEditedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesEditedPropIssueType
    label: NotRequired[WebhookIssuesEditedPropLabelType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesEditedPropChangesType(TypedDict):
    """WebhookIssuesEditedPropChanges

    The changes to the issue.
    """

    body: NotRequired[WebhookIssuesEditedPropChangesPropBodyType]
    title: NotRequired[WebhookIssuesEditedPropChangesPropTitleType]


class WebhookIssuesEditedPropChangesPropBodyType(TypedDict):
    """WebhookIssuesEditedPropChangesPropBody"""

    from_: str


class WebhookIssuesEditedPropChangesPropTitleType(TypedDict):
    """WebhookIssuesEditedPropChangesPropTitle"""

    from_: str


class WebhookIssuesEditedPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesEditedPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesEditedPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesEditedPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesEditedPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesEditedPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesEditedPropIssuePropPullRequestType]
    reactions: WebhookIssuesEditedPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesEditedPropIssuePropUserType, None]


class WebhookIssuesEditedPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesEditedPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesEditedPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesEditedPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesEditedPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesEditedPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesEditedPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "security_and_analysis",
                "pull_request_review_thread",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesEditedPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesEditedPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesEditedPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesEditedPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesEditedPropLabelType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesLabeledType(TypedDict):
    """issues labeled event"""

    action: Literal["labeled"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesLabeledPropIssueType
    label: NotRequired[WebhookIssuesLabeledPropLabelType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesLabeledPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesLabeledPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesLabeledPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesLabeledPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesLabeledPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesLabeledPropIssuePropPullRequestType]
    reactions: WebhookIssuesLabeledPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesLabeledPropIssuePropUserType, None]


class WebhookIssuesLabeledPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesLabeledPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesLabeledPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesLabeledPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesLabeledPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesLabeledPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "pull_request_review_thread",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesLabeledPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesLabeledPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesLabeledPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesLabeledPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesLabeledPropLabelType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesLockedType(TypedDict):
    """issues locked event"""

    action: Literal["locked"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesLockedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesLockedPropIssueType(TypedDict):
    """WebhookIssuesLockedPropIssue"""

    active_lock_reason: Union[
        Union[None, Literal["resolved", "off-topic", "too heated", "spam"]], None
    ]
    assignee: NotRequired[Union[WebhookIssuesLockedPropIssueMergedAssigneeType, None]]
    assignees: List[WebhookIssuesLockedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesLockedPropIssueMergedLabelsType]]
    labels_url: str
    locked: Literal[True]
    milestone: Union[WebhookIssuesLockedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesLockedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesLockedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesLockedPropIssueMergedReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesLockedPropIssueMergedUserType


class WebhookIssuesLockedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesLockedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesLockedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesLockedPropIssueAllof0PropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesLockedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesLockedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesLockedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesLockedPropIssueAllof0PropUserType, None]


class WebhookIssuesLockedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "security_and_analysis",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesLockedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesLockedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1"""

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesLockedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[Union[WebhookIssuesLockedPropIssueAllof1PropAssigneesItemsType, None]]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesLockedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: Literal[True]
    milestone: NotRequired[
        Union[WebhookIssuesLockedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubAppType, None]
    ]
    reactions: NotRequired[WebhookIssuesLockedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: NotRequired[str]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesLockedPropIssueAllof1PropUserType]


class WebhookIssuesLockedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropAssignee"""


class WebhookIssuesLockedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesLockedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesLockedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropMilestone"""


class WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesLockedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesLockedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesLockedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesLockedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesLockedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "security_and_analysis",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesLockedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesLockedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesLockedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedType(TypedDict):
    """issues milestoned event"""

    action: Literal["milestoned"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesMilestonedPropIssueType
    milestone: WebhookIssuesMilestonedPropMilestoneType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesMilestonedPropIssueType(TypedDict):
    """WebhookIssuesMilestonedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: NotRequired[
        Union[WebhookIssuesMilestonedPropIssueMergedAssigneeType, None]
    ]
    assignees: List[WebhookIssuesMilestonedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesMilestonedPropIssueMergedLabelsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: WebhookIssuesMilestonedPropIssueAllof1PropMilestoneType
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesMilestonedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesMilestonedPropIssueMergedReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesMilestonedPropIssueMergedUserType


class WebhookIssuesMilestonedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesMilestonedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesMilestonedPropIssueAllof0PropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesMilestonedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesMilestonedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesMilestonedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesMilestonedPropIssueAllof0PropUserType, None]


class WebhookIssuesMilestonedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesMilestonedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesMilestonedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: NotRequired[
        Union[WebhookIssuesMilestonedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[Union[WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItemsType, None]]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesMilestonedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: NotRequired[bool]
    milestone: WebhookIssuesMilestonedPropIssueAllof1PropMilestoneType
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubAppType, None]
    ]
    reactions: NotRequired[WebhookIssuesMilestonedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: NotRequired[str]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesMilestonedPropIssueAllof1PropUserType]


class WebhookIssuesMilestonedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1PropAssignee"""


class WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesMilestonedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesMilestonedPropIssueAllof1PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesMilestonedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesMilestonedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesMilestonedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesMilestonedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesMilestonedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesMilestonedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesMilestonedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesMilestonedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesMilestonedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesMilestonedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesMilestonedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesMilestonedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesOpenedType(TypedDict):
    """issues opened event"""

    action: Literal["opened"]
    changes: NotRequired[WebhookIssuesOpenedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesOpenedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesOpenedPropChangesType(TypedDict):
    """WebhookIssuesOpenedPropChanges"""

    old_issue: Union[WebhookIssuesOpenedPropChangesPropOldIssueType, None]
    old_repository: WebhookIssuesOpenedPropChangesPropOldRepositoryType


class WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissio
    ns

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppType(
    TypedDict
):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequestType(TypedDict):
    """WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesOpenedPropChangesPropOldIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[
        List[WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItemsType]
    ]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesOpenedPropChangesPropOldIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppType,
            None,
        ]
    ]
    pull_request: NotRequired[
        WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequestType
    ]
    reactions: WebhookIssuesOpenedPropChangesPropOldIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesOpenedPropChangesPropOldIssuePropUserType, None]


class WebhookIssuesOpenedPropChangesPropOldRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[
        WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicenseType, None
    ]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwnerType, None]
    permissions: NotRequired[
        WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissionsType
    ]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int


class WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissionsType(TypedDict):
    """WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookIssuesOpenedPropIssueType(TypedDict):
    """WebhookIssuesOpenedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: NotRequired[Union[WebhookIssuesOpenedPropIssueMergedAssigneeType, None]]
    assignees: List[WebhookIssuesOpenedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesOpenedPropIssueMergedLabelsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesOpenedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesOpenedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesOpenedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesOpenedPropIssueMergedReactionsType
    repository_url: str
    state: Literal["open", "closed"]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesOpenedPropIssueMergedUserType


class WebhookIssuesOpenedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesOpenedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesOpenedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesOpenedPropIssueAllof0PropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesOpenedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesOpenedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesOpenedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesOpenedPropIssueAllof0PropUserType, None]


class WebhookIssuesOpenedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "security_and_analysis",
                "pull_request_review_thread",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesOpenedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesOpenedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: NotRequired[
        Union[WebhookIssuesOpenedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[Union[WebhookIssuesOpenedPropIssueAllof1PropAssigneesItemsType, None]]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: Union[str, None]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesOpenedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: NotRequired[bool]
    milestone: NotRequired[
        Union[WebhookIssuesOpenedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubAppType, None]
    ]
    reactions: NotRequired[WebhookIssuesOpenedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: Literal["open", "closed"]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesOpenedPropIssueAllof1PropUserType]


class WebhookIssuesOpenedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropAssignee"""


class WebhookIssuesOpenedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesOpenedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesOpenedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropMilestone"""


class WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesOpenedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesOpenedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesOpenedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesOpenedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesOpenedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "security_and_analysis",
                "pull_request_review_thread",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesOpenedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesOpenedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesOpenedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesPinnedType(TypedDict):
    """issues pinned event"""

    action: Literal["pinned"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesPinnedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesPinnedPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesPinnedPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesPinnedPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesPinnedPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesPinnedPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesPinnedPropIssuePropPullRequestType]
    reactions: WebhookIssuesPinnedPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesPinnedPropIssuePropUserType, None]


class WebhookIssuesPinnedPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesPinnedPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesPinnedPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesPinnedPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesPinnedPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesPinnedPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesPinnedPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesPinnedPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesPinnedPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesPinnedPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesReopenedType(TypedDict):
    """issues reopened event"""

    action: Literal["reopened"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesReopenedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesReopenedPropIssueType(TypedDict):
    """WebhookIssuesReopenedPropIssue"""

    active_lock_reason: Union[
        Literal["resolved", "off-topic", "too heated", "spam"], None
    ]
    assignee: NotRequired[Union[WebhookIssuesReopenedPropIssueMergedAssigneeType, None]]
    assignees: List[WebhookIssuesReopenedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesReopenedPropIssueMergedLabelsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesReopenedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesReopenedPropIssueMergedPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesReopenedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesReopenedPropIssueMergedReactionsType
    repository_url: str
    state: Literal["open", "closed"]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesReopenedPropIssueMergedUserType


class WebhookIssuesReopenedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesReopenedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesReopenedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesReopenedPropIssueAllof0PropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesReopenedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesReopenedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesReopenedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesReopenedPropIssueAllof0PropUserType, None]


class WebhookIssuesReopenedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write", "admin"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "pull_request_review_thread",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesReopenedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesReopenedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1"""

    active_lock_reason: NotRequired[Union[str, None]]
    assignee: NotRequired[
        Union[WebhookIssuesReopenedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[Union[WebhookIssuesReopenedPropIssueAllof1PropAssigneesItemsType, None]]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesReopenedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: NotRequired[bool]
    milestone: NotRequired[
        Union[WebhookIssuesReopenedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubAppType, None]
    ]
    reactions: NotRequired[WebhookIssuesReopenedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: Literal["open", "closed"]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesReopenedPropIssueAllof1PropUserType]


class WebhookIssuesReopenedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropAssignee"""


class WebhookIssuesReopenedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesReopenedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesReopenedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropMilestone"""


class WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubApp"""


class WebhookIssuesReopenedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesReopenedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesReopenedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesReopenedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesReopenedPropIssueMergedPerformedViaGithubAppType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedPerformedViaGithubApp"""

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "pull_request_review_thread",
                "reminder",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesReopenedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesReopenedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesReopenedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesTransferredType(TypedDict):
    """issues transferred event"""

    action: Literal["transferred"]
    changes: WebhookIssuesTransferredPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesTransferredPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesTransferredPropChangesType(TypedDict):
    """WebhookIssuesTransferredPropChanges"""

    new_issue: WebhookIssuesTransferredPropChangesPropNewIssueType
    new_repository: WebhookIssuesTransferredPropChangesPropNewRepositoryType


class WebhookIssuesTransferredPropChangesPropNewIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneeType, None]
    ]
    assignees: List[
        Union[
            WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItemsType, None
        ]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[
        List[WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItemsType]
    ]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[
        WebhookIssuesTransferredPropChangesPropNewIssuePropMilestoneType, None
    ]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[
            WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppType,
            None,
        ]
    ]
    pull_request: NotRequired[
        WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequestType
    ]
    reactions: WebhookIssuesTransferredPropChangesPropNewIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesTransferredPropChangesPropNewIssuePropUserType, None]


class WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreatorType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreatorType,
        None,
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPerm
    issions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppType(
    TypedDict
):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwnerType,
        None,
    ]
    permissions: NotRequired[
        WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequestType(TypedDict):
    """WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesTransferredPropChangesPropNewIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[
        WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicenseType, None
    ]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[
        WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissionsType
    ]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int
    web_commit_signoff_required: NotRequired[bool]


class WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissionsType(
    TypedDict
):
    """WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookIssuesTransferredPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesTransferredPropIssuePropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesTransferredPropIssuePropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesTransferredPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesTransferredPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesTransferredPropIssuePropPullRequestType]
    reactions: WebhookIssuesTransferredPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesTransferredPropIssuePropUserType, None]


class WebhookIssuesTransferredPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesTransferredPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesTransferredPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesTransferredPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesTransferredPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesTransferredPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesTransferredPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnassignedType(TypedDict):
    """issues unassigned event"""

    action: Literal["unassigned"]
    assignee: NotRequired[Union[WebhookIssuesUnassignedPropAssigneeType, None]]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesUnassignedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesUnassignedPropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnassignedPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesUnassignedPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesUnassignedPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesUnassignedPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesUnassignedPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesUnassignedPropIssuePropPullRequestType]
    reactions: WebhookIssuesUnassignedPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesUnassignedPropIssuePropUserType, None]


class WebhookIssuesUnassignedPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnassignedPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnassignedPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesUnassignedPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnassignedPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesUnassignedPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesUnassignedPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesUnassignedPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesUnassignedPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesUnassignedPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnlabeledType(TypedDict):
    """issues unlabeled event"""

    action: Literal["unlabeled"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesUnlabeledPropIssueType
    label: NotRequired[WebhookIssuesUnlabeledPropLabelType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesUnlabeledPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesUnlabeledPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesUnlabeledPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesUnlabeledPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesUnlabeledPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesUnlabeledPropIssuePropPullRequestType]
    reactions: WebhookIssuesUnlabeledPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesUnlabeledPropIssuePropUserType, None]


class WebhookIssuesUnlabeledPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnlabeledPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnlabeledPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesUnlabeledPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnlabeledPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesUnlabeledPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write", "admin"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
                "reminder",
                "pull_request_review_thread",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesUnlabeledPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesUnlabeledPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesUnlabeledPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesUnlabeledPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookIssuesUnlabeledPropLabelType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesUnlockedType(TypedDict):
    """issues unlocked event"""

    action: Literal["unlocked"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesUnlockedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesUnlockedPropIssueType(TypedDict):
    """WebhookIssuesUnlockedPropIssue"""

    active_lock_reason: Union[None, None]
    assignee: NotRequired[Union[WebhookIssuesUnlockedPropIssueMergedAssigneeType, None]]
    assignees: List[WebhookIssuesUnlockedPropIssueMergedAssigneesType]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[Union[str, None], None]
    closed_at: Union[Union[datetime, None], None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesUnlockedPropIssueMergedLabelsType]]
    labels_url: str
    locked: Literal[False]
    milestone: Union[WebhookIssuesUnlockedPropIssueMergedMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[Union[None, None]]
    pull_request: NotRequired[WebhookIssuesUnlockedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesUnlockedPropIssueMergedReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: WebhookIssuesUnlockedPropIssueMergedUserType


class WebhookIssuesUnlockedPropIssueAllof0Type(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[
        Union[WebhookIssuesUnlockedPropIssueAllof0PropAssigneeType, None]
    ]
    assignees: List[
        Union[WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItemsType, None]
    ]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesUnlockedPropIssueAllof0PropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesUnlockedPropIssueAllof0PropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesUnlockedPropIssueAllof0PropPullRequestType]
    reactions: WebhookIssuesUnlockedPropIssueAllof0PropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesUnlockedPropIssueAllof0PropUserType, None]


class WebhookIssuesUnlockedPropIssueAllof0PropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof0PropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof0PropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType(
    TypedDict
):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesUnlockedPropIssueAllof0PropPullRequestType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof0PropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof0PropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesUnlockedPropIssueAllof0PropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof1Type(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1"""

    active_lock_reason: None
    assignee: NotRequired[
        Union[WebhookIssuesUnlockedPropIssueAllof1PropAssigneeType, None]
    ]
    assignees: NotRequired[
        List[Union[WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItemsType, None]]
    ]
    author_association: NotRequired[str]
    body: NotRequired[Union[str, None]]
    closed_at: NotRequired[Union[str, None]]
    comments: NotRequired[int]
    comments_url: NotRequired[str]
    created_at: NotRequired[str]
    events_url: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    labels: NotRequired[
        List[Union[WebhookIssuesUnlockedPropIssueAllof1PropLabelsItemsType, None]]
    ]
    labels_url: NotRequired[str]
    locked: Literal[False]
    milestone: NotRequired[
        Union[WebhookIssuesUnlockedPropIssueAllof1PropMilestoneType, None]
    ]
    node_id: NotRequired[str]
    number: NotRequired[int]
    performed_via_github_app: NotRequired[None]
    reactions: NotRequired[WebhookIssuesUnlockedPropIssueAllof1PropReactionsType]
    repository_url: NotRequired[str]
    state: NotRequired[str]
    timeline_url: NotRequired[str]
    title: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]
    user: NotRequired[WebhookIssuesUnlockedPropIssueAllof1PropUserType]


class WebhookIssuesUnlockedPropIssueAllof1PropAssigneeType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1PropAssignee"""


class WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItemsType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItems"""


class WebhookIssuesUnlockedPropIssueAllof1PropLabelsItemsType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1PropLabelsItems"""


class WebhookIssuesUnlockedPropIssueAllof1PropMilestoneType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1PropMilestone"""


class WebhookIssuesUnlockedPropIssueAllof1PropReactionsType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1PropReactions"""

    plus_one: NotRequired[int]
    minus_one: NotRequired[int]
    confused: NotRequired[int]
    eyes: NotRequired[int]
    heart: NotRequired[int]
    hooray: NotRequired[int]
    laugh: NotRequired[int]
    rocket: NotRequired[int]
    total_count: NotRequired[int]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueAllof1PropUserType(TypedDict):
    """WebhookIssuesUnlockedPropIssueAllof1PropUser"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueMergedAssigneeType(TypedDict):
    """WebhookIssuesUnlockedPropIssueMergedAssignee"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueMergedAssigneesType(TypedDict):
    """WebhookIssuesUnlockedPropIssueMergedAssignees"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnlockedPropIssueMergedLabelsType(TypedDict):
    """WebhookIssuesUnlockedPropIssueMergedLabels"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesUnlockedPropIssueMergedMilestoneType(TypedDict):
    """WebhookIssuesUnlockedPropIssueMergedMilestone"""

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[
        WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreatorType, None
    ]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesUnlockedPropIssueMergedReactionsType(TypedDict):
    """WebhookIssuesUnlockedPropIssueMergedReactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesUnlockedPropIssueMergedUserType(TypedDict):
    """WebhookIssuesUnlockedPropIssueMergedUser"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnpinnedType(TypedDict):
    """issues unpinned event"""

    action: Literal["unpinned"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    issue: WebhookIssuesUnpinnedPropIssueType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookIssuesUnpinnedPropIssueType(TypedDict):
    """Issue

    The [issue](https://docs.github.com/en/rest/reference/issues) itself.
    """

    active_lock_reason: Union[
        None, Literal["resolved", "off-topic", "too heated", "spam"]
    ]
    assignee: NotRequired[Union[WebhookIssuesUnpinnedPropIssuePropAssigneeType, None]]
    assignees: List[Union[WebhookIssuesUnpinnedPropIssuePropAssigneesItemsType, None]]
    author_association: Literal[
        "COLLABORATOR",
        "CONTRIBUTOR",
        "FIRST_TIMER",
        "FIRST_TIME_CONTRIBUTOR",
        "MANNEQUIN",
        "MEMBER",
        "NONE",
        "OWNER",
    ]
    body: Union[str, None]
    closed_at: Union[datetime, None]
    comments: int
    comments_url: str
    created_at: datetime
    draft: NotRequired[bool]
    events_url: str
    html_url: str
    id: int
    labels: NotRequired[List[WebhookIssuesUnpinnedPropIssuePropLabelsItemsType]]
    labels_url: str
    locked: NotRequired[bool]
    milestone: Union[WebhookIssuesUnpinnedPropIssuePropMilestoneType, None]
    node_id: str
    number: int
    performed_via_github_app: NotRequired[
        Union[WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppType, None]
    ]
    pull_request: NotRequired[WebhookIssuesUnpinnedPropIssuePropPullRequestType]
    reactions: WebhookIssuesUnpinnedPropIssuePropReactionsType
    repository_url: str
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[Union[str, None]]
    timeline_url: NotRequired[str]
    title: str
    updated_at: datetime
    url: str
    user: Union[WebhookIssuesUnpinnedPropIssuePropUserType, None]


class WebhookIssuesUnpinnedPropIssuePropAssigneeType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnpinnedPropIssuePropAssigneesItemsType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnpinnedPropIssuePropLabelsItemsType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookIssuesUnpinnedPropIssuePropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnpinnedPropIssuePropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookIssuesUnpinnedPropIssuePropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissionsType(
    TypedDict
):
    """WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissions

    The set of permissions for the GitHub app
    """

    actions: NotRequired[Literal["read", "write"]]
    administration: NotRequired[Literal["read", "write"]]
    checks: NotRequired[Literal["read", "write"]]
    content_references: NotRequired[Literal["read", "write"]]
    contents: NotRequired[Literal["read", "write"]]
    deployments: NotRequired[Literal["read", "write"]]
    discussions: NotRequired[Literal["read", "write"]]
    emails: NotRequired[Literal["read", "write"]]
    environments: NotRequired[Literal["read", "write"]]
    issues: NotRequired[Literal["read", "write"]]
    keys: NotRequired[Literal["read", "write"]]
    members: NotRequired[Literal["read", "write"]]
    metadata: NotRequired[Literal["read", "write"]]
    organization_administration: NotRequired[Literal["read", "write"]]
    organization_hooks: NotRequired[Literal["read", "write"]]
    organization_packages: NotRequired[Literal["read", "write"]]
    organization_plan: NotRequired[Literal["read", "write"]]
    organization_projects: NotRequired[Literal["read", "write"]]
    organization_secrets: NotRequired[Literal["read", "write"]]
    organization_self_hosted_runners: NotRequired[Literal["read", "write"]]
    organization_user_blocking: NotRequired[Literal["read", "write"]]
    packages: NotRequired[Literal["read", "write"]]
    pages: NotRequired[Literal["read", "write"]]
    pull_requests: NotRequired[Literal["read", "write"]]
    repository_hooks: NotRequired[Literal["read", "write"]]
    repository_projects: NotRequired[Literal["read", "write"]]
    secret_scanning_alerts: NotRequired[Literal["read", "write"]]
    secrets: NotRequired[Literal["read", "write"]]
    security_events: NotRequired[Literal["read", "write"]]
    security_scanning_alert: NotRequired[Literal["read", "write"]]
    single_file: NotRequired[Literal["read", "write"]]
    statuses: NotRequired[Literal["read", "write"]]
    team_discussions: NotRequired[Literal["read", "write"]]
    vulnerability_alerts: NotRequired[Literal["read", "write"]]
    workflows: NotRequired[Literal["read", "write"]]


class WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppType(TypedDict):
    """App

    GitHub apps are a new way to extend GitHub. They can be installed directly on
    organizations and user accounts and granted access to specific repositories.
    They come with granular permissions and built-in webhooks. GitHub apps are first
    class actors within GitHub.
    """

    created_at: Union[datetime, None]
    description: Union[str, None]
    events: NotRequired[
        List[
            Literal[
                "branch_protection_rule",
                "check_run",
                "check_suite",
                "code_scanning_alert",
                "commit_comment",
                "content_reference",
                "create",
                "delete",
                "deployment",
                "deployment_review",
                "deployment_status",
                "deploy_key",
                "discussion",
                "discussion_comment",
                "fork",
                "gollum",
                "issues",
                "issue_comment",
                "label",
                "member",
                "membership",
                "milestone",
                "organization",
                "org_block",
                "page_build",
                "project",
                "project_card",
                "project_column",
                "public",
                "pull_request",
                "pull_request_review",
                "pull_request_review_comment",
                "push",
                "registry_package",
                "release",
                "repository",
                "repository_dispatch",
                "secret_scanning_alert",
                "star",
                "status",
                "team",
                "team_add",
                "watch",
                "workflow_dispatch",
                "workflow_run",
            ]
        ]
    ]
    external_url: Union[str, None]
    html_url: str
    id: Union[int, None]
    name: str
    node_id: str
    owner: Union[
        WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwnerType, None
    ]
    permissions: NotRequired[
        WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissionsType
    ]
    slug: NotRequired[str]
    updated_at: Union[datetime, None]


class WebhookIssuesUnpinnedPropIssuePropPullRequestType(TypedDict):
    """WebhookIssuesUnpinnedPropIssuePropPullRequest"""

    diff_url: NotRequired[str]
    html_url: NotRequired[str]
    merged_at: NotRequired[Union[datetime, None]]
    patch_url: NotRequired[str]
    url: NotRequired[str]


class WebhookIssuesUnpinnedPropIssuePropReactionsType(TypedDict):
    """Reactions"""

    plus_one: int
    minus_one: int
    confused: int
    eyes: int
    heart: int
    hooray: int
    laugh: int
    rocket: int
    total_count: int
    url: str


class WebhookIssuesUnpinnedPropIssuePropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookLabelCreatedType(TypedDict):
    """label created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    label: WebhookLabelCreatedPropLabelType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: NotRequired[SimpleUserType]


class WebhookLabelCreatedPropLabelType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookLabelDeletedType(TypedDict):
    """label deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    label: WebhookLabelDeletedPropLabelType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookLabelDeletedPropLabelType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookLabelEditedType(TypedDict):
    """label edited event"""

    action: Literal["edited"]
    changes: NotRequired[WebhookLabelEditedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    label: WebhookLabelEditedPropLabelType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookLabelEditedPropChangesType(TypedDict):
    """WebhookLabelEditedPropChanges

    The changes to the label if the action was `edited`.
    """

    color: NotRequired[WebhookLabelEditedPropChangesPropColorType]
    description: NotRequired[WebhookLabelEditedPropChangesPropDescriptionType]
    name: NotRequired[WebhookLabelEditedPropChangesPropNameType]


class WebhookLabelEditedPropChangesPropColorType(TypedDict):
    """WebhookLabelEditedPropChangesPropColor"""

    from_: str


class WebhookLabelEditedPropChangesPropDescriptionType(TypedDict):
    """WebhookLabelEditedPropChangesPropDescription"""

    from_: str


class WebhookLabelEditedPropChangesPropNameType(TypedDict):
    """WebhookLabelEditedPropChangesPropName"""

    from_: str


class WebhookLabelEditedPropLabelType(TypedDict):
    """Label"""

    color: str
    default: bool
    description: Union[str, None]
    id: int
    name: str
    node_id: str
    url: str


class WebhookMemberAddedType(TypedDict):
    """member added event

    Activity related to repository collaborators. The type of activity is specified
    in the action property.
    """

    action: Literal["added"]
    changes: NotRequired[WebhookMemberAddedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    member: Union[WebhookMemberAddedPropMemberType, None]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMemberAddedPropChangesType(TypedDict):
    """WebhookMemberAddedPropChanges"""

    permission: NotRequired[WebhookMemberAddedPropChangesPropPermissionType]


class WebhookMemberAddedPropChangesPropPermissionType(TypedDict):
    """WebhookMemberAddedPropChangesPropPermission"""

    to: Literal["write", "admin", "read"]


class WebhookMemberAddedPropMemberType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMemberEditedType(TypedDict):
    """member edited event"""

    action: Literal["edited"]
    changes: WebhookMemberEditedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    member: Union[WebhookMemberEditedPropMemberType, None]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMemberEditedPropChangesType(TypedDict):
    """WebhookMemberEditedPropChanges

    The changes to the collaborator permissions
    """

    old_permission: NotRequired[WebhookMemberEditedPropChangesPropOldPermissionType]
    permission: NotRequired[WebhookMemberEditedPropChangesPropPermissionType]


class WebhookMemberEditedPropChangesPropOldPermissionType(TypedDict):
    """WebhookMemberEditedPropChangesPropOldPermission"""

    from_: str


class WebhookMemberEditedPropChangesPropPermissionType(TypedDict):
    """WebhookMemberEditedPropChangesPropPermission"""

    from_: NotRequired[Union[str, None]]
    to: NotRequired[Union[str, None]]


class WebhookMemberEditedPropMemberType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMemberRemovedType(TypedDict):
    """member removed event"""

    action: Literal["removed"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    member: Union[WebhookMemberRemovedPropMemberType, None]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMemberRemovedPropMemberType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMembershipAddedType(TypedDict):
    """membership added event"""

    action: Literal["added"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    member: Union[WebhookMembershipAddedPropMemberType, None]
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    scope: Literal["team"]
    sender: Union[WebhookMembershipAddedPropSenderType, None]
    team: WebhookMembershipAddedPropTeamType


class WebhookMembershipAddedPropMemberType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMembershipAddedPropSenderType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMembershipAddedPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookMembershipAddedPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookMembershipAddedPropTeamPropParentType(TypedDict):
    """WebhookMembershipAddedPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookMembershipRemovedType(TypedDict):
    """membership removed event"""

    action: Literal["removed"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    member: Union[WebhookMembershipRemovedPropMemberType, None]
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    scope: Literal["team", "organization"]
    sender: Union[WebhookMembershipRemovedPropSenderType, None]
    team: WebhookMembershipRemovedPropTeamType


class WebhookMembershipRemovedPropMemberType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMembershipRemovedPropSenderType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMembershipRemovedPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookMembershipRemovedPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookMembershipRemovedPropTeamPropParentType(TypedDict):
    """WebhookMembershipRemovedPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookMergeGroupChecksRequestedType(TypedDict):
    """WebhookMergeGroupChecksRequested"""

    action: str
    installation: NotRequired[SimpleInstallationType]
    merge_group: WebhookMergeGroupChecksRequestedPropMergeGroupType
    organization: NotRequired[OrganizationSimpleType]
    repository: NotRequired[RepositoryType]
    sender: NotRequired[SimpleUserType]


class WebhookMergeGroupChecksRequestedPropMergeGroupType(TypedDict):
    """MergeGroup"""

    head_sha: str
    head_ref: str
    base_sha: str
    base_ref: str
    head_commit: WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitType


class WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitType(TypedDict):
    """SimpleCommit"""

    author: WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthorType
    committer: WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitterType
    id: str
    message: str
    timestamp: str
    tree_id: str


class WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthorType(
    TypedDict
):
    """Committer

    Metaproperties for Git author/committer information.
    """

    date: NotRequired[datetime]
    email: Union[str, None]
    name: str
    username: NotRequired[str]


class WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitterType(
    TypedDict
):
    """Committer

    Metaproperties for Git author/committer information.
    """

    date: NotRequired[datetime]
    email: Union[str, None]
    name: str
    username: NotRequired[str]


class WebhookMetaDeletedType(TypedDict):
    """meta deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    hook: WebhookMetaDeletedPropHookType
    hook_id: int
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: NotRequired[Union[None, RepositoryType]]
    sender: NotRequired[SimpleUserType]


class WebhookMetaDeletedPropHookType(TypedDict):
    """WebhookMetaDeletedPropHook

    The modified webhook. This will contain different keys based on the type of
    webhook it is: repository, organization, business, app, or GitHub Marketplace.
    """

    active: bool
    config: WebhookMetaDeletedPropHookPropConfigType
    created_at: str
    events: List[
        Literal[
            "*",
            "branch_protection_rule",
            "check_run",
            "check_suite",
            "code_scanning_alert",
            "commit_comment",
            "create",
            "delete",
            "deployment",
            "deployment_status",
            "deploy_key",
            "discussion",
            "discussion_comment",
            "fork",
            "gollum",
            "issues",
            "issue_comment",
            "label",
            "member",
            "membership",
            "meta",
            "milestone",
            "organization",
            "org_block",
            "package",
            "page_build",
            "project",
            "project_card",
            "project_column",
            "public",
            "pull_request",
            "pull_request_review",
            "pull_request_review_comment",
            "pull_request_review_thread",
            "push",
            "registry_package",
            "release",
            "repository",
            "repository_import",
            "repository_vulnerability_alert",
            "secret_scanning_alert",
            "secret_scanning_alert_location",
            "security_and_analysis",
            "star",
            "status",
            "team",
            "team_add",
            "watch",
            "workflow_job",
            "workflow_run",
            "repository_dispatch",
            "projects_v2_item",
        ]
    ]
    id: int
    name: str
    type: str
    updated_at: str


class WebhookMetaDeletedPropHookPropConfigType(TypedDict):
    """WebhookMetaDeletedPropHookPropConfig"""

    content_type: Literal["json", "form"]
    insecure_ssl: str
    secret: NotRequired[str]
    url: str


class WebhookMilestoneClosedType(TypedDict):
    """milestone closed event"""

    action: Literal["closed"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    milestone: WebhookMilestoneClosedPropMilestoneType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMilestoneClosedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookMilestoneClosedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookMilestoneClosedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookMilestoneCreatedType(TypedDict):
    """milestone created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    milestone: WebhookMilestoneCreatedPropMilestoneType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMilestoneCreatedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookMilestoneCreatedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookMilestoneCreatedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookMilestoneDeletedType(TypedDict):
    """milestone deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    milestone: WebhookMilestoneDeletedPropMilestoneType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMilestoneDeletedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookMilestoneDeletedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookMilestoneDeletedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookMilestoneEditedType(TypedDict):
    """milestone edited event"""

    action: Literal["edited"]
    changes: WebhookMilestoneEditedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    milestone: WebhookMilestoneEditedPropMilestoneType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMilestoneEditedPropChangesType(TypedDict):
    """WebhookMilestoneEditedPropChanges

    The changes to the milestone if the action was `edited`.
    """

    description: NotRequired[WebhookMilestoneEditedPropChangesPropDescriptionType]
    due_on: NotRequired[WebhookMilestoneEditedPropChangesPropDueOnType]
    title: NotRequired[WebhookMilestoneEditedPropChangesPropTitleType]


class WebhookMilestoneEditedPropChangesPropDescriptionType(TypedDict):
    """WebhookMilestoneEditedPropChangesPropDescription"""

    from_: str


class WebhookMilestoneEditedPropChangesPropDueOnType(TypedDict):
    """WebhookMilestoneEditedPropChangesPropDueOn"""

    from_: str


class WebhookMilestoneEditedPropChangesPropTitleType(TypedDict):
    """WebhookMilestoneEditedPropChangesPropTitle"""

    from_: str


class WebhookMilestoneEditedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookMilestoneEditedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookMilestoneEditedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookMilestoneOpenedType(TypedDict):
    """milestone opened event"""

    action: Literal["opened"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    milestone: WebhookMilestoneOpenedPropMilestoneType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookMilestoneOpenedPropMilestoneType(TypedDict):
    """Milestone

    A collection of related issues and pull requests.
    """

    closed_at: Union[datetime, None]
    closed_issues: int
    created_at: datetime
    creator: Union[WebhookMilestoneOpenedPropMilestonePropCreatorType, None]
    description: Union[str, None]
    due_on: Union[datetime, None]
    html_url: str
    id: int
    labels_url: str
    node_id: str
    number: int
    open_issues: int
    state: Literal["open", "closed"]
    title: str
    updated_at: datetime
    url: str


class WebhookMilestoneOpenedPropMilestonePropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrgBlockBlockedType(TypedDict):
    """org_block blocked event"""

    action: Literal["blocked"]
    blocked_user: Union[WebhookOrgBlockBlockedPropBlockedUserType, None]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookOrgBlockBlockedPropBlockedUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrgBlockUnblockedType(TypedDict):
    """org_block unblocked event"""

    action: Literal["unblocked"]
    blocked_user: Union[WebhookOrgBlockUnblockedPropBlockedUserType, None]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookOrgBlockUnblockedPropBlockedUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrganizationDeletedType(TypedDict):
    """organization deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    membership: NotRequired[WebhookOrganizationDeletedPropMembershipType]
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookOrganizationDeletedPropMembershipType(TypedDict):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str
    role: str
    state: str
    url: str
    user: Union[WebhookOrganizationDeletedPropMembershipPropUserType, None]


class WebhookOrganizationDeletedPropMembershipPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrganizationMemberAddedType(TypedDict):
    """organization member_added event"""

    action: Literal["member_added"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    membership: WebhookOrganizationMemberAddedPropMembershipType
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookOrganizationMemberAddedPropMembershipType(TypedDict):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str
    role: str
    state: str
    url: str
    user: Union[WebhookOrganizationMemberAddedPropMembershipPropUserType, None]


class WebhookOrganizationMemberAddedPropMembershipPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrganizationMemberInvitedType(TypedDict):
    """organization member_invited event"""

    action: Literal["member_invited"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    invitation: WebhookOrganizationMemberInvitedPropInvitationType
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType
    user: NotRequired[Union[WebhookOrganizationMemberInvitedPropUserType, None]]


class WebhookOrganizationMemberInvitedPropInvitationType(TypedDict):
    """WebhookOrganizationMemberInvitedPropInvitation

    The invitation for the user or email if the action is `member_invited`.
    """

    created_at: datetime
    email: Union[str, None]
    failed_at: Union[datetime, None]
    failed_reason: Union[str, None]
    id: float
    invitation_teams_url: str
    inviter: Union[WebhookOrganizationMemberInvitedPropInvitationPropInviterType, None]
    login: Union[str, None]
    node_id: str
    role: str
    team_count: float


class WebhookOrganizationMemberInvitedPropInvitationPropInviterType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrganizationMemberInvitedPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrganizationMemberRemovedType(TypedDict):
    """organization member_removed event"""

    action: Literal["member_removed"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    membership: WebhookOrganizationMemberRemovedPropMembershipType
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookOrganizationMemberRemovedPropMembershipType(TypedDict):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str
    role: str
    state: str
    url: str
    user: Union[WebhookOrganizationMemberRemovedPropMembershipPropUserType, None]


class WebhookOrganizationMemberRemovedPropMembershipPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookOrganizationRenamedType(TypedDict):
    """organization renamed event"""

    action: Literal["renamed"]
    changes: NotRequired[WebhookOrganizationRenamedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    membership: NotRequired[WebhookOrganizationRenamedPropMembershipType]
    organization: OrganizationSimpleType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookOrganizationRenamedPropChangesType(TypedDict):
    """WebhookOrganizationRenamedPropChanges"""

    login: NotRequired[WebhookOrganizationRenamedPropChangesPropLoginType]


class WebhookOrganizationRenamedPropChangesPropLoginType(TypedDict):
    """WebhookOrganizationRenamedPropChangesPropLogin"""

    from_: NotRequired[str]


class WebhookOrganizationRenamedPropMembershipType(TypedDict):
    """Membership

    The membership between the user and the organization. Not present when the
    action is `member_invited`.
    """

    organization_url: str
    role: str
    state: str
    url: str
    user: Union[WebhookOrganizationRenamedPropMembershipPropUserType, None]


class WebhookOrganizationRenamedPropMembershipPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookPingType(TypedDict):
    """WebhookPing

    The webhooks ping payload
    """

    hook: NotRequired[WebhookPingPropHookType]
    hook_id: NotRequired[int]
    organization: NotRequired[OrganizationSimpleType]
    repository: NotRequired[RepositoryType]
    sender: NotRequired[SimpleUserType]
    zen: NotRequired[str]


class WebhookPingPropHookType(TypedDict):
    """Webhook

    The webhook that is being pinged
    """

    active: bool
    app_id: NotRequired[int]
    config: WebhookPingPropHookPropConfigType
    created_at: datetime
    deliveries_url: NotRequired[str]
    events: List[str]
    id: int
    last_response: NotRequired[HookResponseType]
    name: Literal["web"]
    ping_url: NotRequired[str]
    test_url: NotRequired[str]
    type: str
    updated_at: datetime
    url: NotRequired[str]


class WebhookPingPropHookPropConfigType(TypedDict):
    """WebhookPingPropHookPropConfig"""

    content_type: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]
    secret: NotRequired[str]
    url: NotRequired[str]


class WebhookPingFormEncodedType(TypedDict):
    """WebhookPingFormEncoded

    The webhooks ping payload encoded with URL encoding.
    """

    payload: str


class WebhookProjectCardConvertedType(TypedDict):
    """project_card converted event"""

    action: Literal["converted"]
    changes: WebhookProjectCardConvertedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_card: WebhookProjectCardConvertedPropProjectCardType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectCardConvertedPropChangesType(TypedDict):
    """WebhookProjectCardConvertedPropChanges"""

    note: WebhookProjectCardConvertedPropChangesPropNoteType


class WebhookProjectCardConvertedPropChangesPropNoteType(TypedDict):
    """WebhookProjectCardConvertedPropChangesPropNote"""

    from_: str


class WebhookProjectCardConvertedPropProjectCardType(TypedDict):
    """Project Card"""

    after_id: NotRequired[Union[int, None]]
    archived: bool
    column_id: int
    column_url: str
    content_url: NotRequired[str]
    created_at: datetime
    creator: Union[WebhookProjectCardConvertedPropProjectCardPropCreatorType, None]
    id: int
    node_id: str
    note: Union[str, None]
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCardConvertedPropProjectCardPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectCardCreatedType(TypedDict):
    """project_card created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_card: WebhookProjectCardCreatedPropProjectCardType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectCardCreatedPropProjectCardType(TypedDict):
    """Project Card"""

    after_id: NotRequired[Union[int, None]]
    archived: bool
    column_id: int
    column_url: str
    content_url: NotRequired[str]
    created_at: datetime
    creator: Union[WebhookProjectCardCreatedPropProjectCardPropCreatorType, None]
    id: int
    node_id: str
    note: Union[str, None]
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCardCreatedPropProjectCardPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectCardDeletedType(TypedDict):
    """project_card deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_card: WebhookProjectCardDeletedPropProjectCardType
    repository: NotRequired[Union[None, RepositoryType]]
    sender: SimpleUserType


class WebhookProjectCardDeletedPropProjectCardType(TypedDict):
    """Project Card"""

    after_id: NotRequired[Union[int, None]]
    archived: bool
    column_id: Union[int, None]
    column_url: str
    content_url: NotRequired[str]
    created_at: datetime
    creator: Union[WebhookProjectCardDeletedPropProjectCardPropCreatorType, None]
    id: int
    node_id: str
    note: Union[str, None]
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCardDeletedPropProjectCardPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookProjectCardEditedType(TypedDict):
    """project_card edited event"""

    action: Literal["edited"]
    changes: WebhookProjectCardEditedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_card: WebhookProjectCardEditedPropProjectCardType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectCardEditedPropChangesType(TypedDict):
    """WebhookProjectCardEditedPropChanges"""

    note: WebhookProjectCardEditedPropChangesPropNoteType


class WebhookProjectCardEditedPropChangesPropNoteType(TypedDict):
    """WebhookProjectCardEditedPropChangesPropNote"""

    from_: Union[str, None]


class WebhookProjectCardEditedPropProjectCardType(TypedDict):
    """Project Card"""

    after_id: NotRequired[Union[int, None]]
    archived: bool
    column_id: int
    column_url: str
    content_url: NotRequired[str]
    created_at: datetime
    creator: Union[WebhookProjectCardEditedPropProjectCardPropCreatorType, None]
    id: int
    node_id: str
    note: Union[str, None]
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCardEditedPropProjectCardPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectCardMovedType(TypedDict):
    """project_card moved event"""

    action: Literal["moved"]
    changes: NotRequired[WebhookProjectCardMovedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_card: WebhookProjectCardMovedPropProjectCardType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectCardMovedPropChangesType(TypedDict):
    """WebhookProjectCardMovedPropChanges"""

    column_id: WebhookProjectCardMovedPropChangesPropColumnIdType


class WebhookProjectCardMovedPropChangesPropColumnIdType(TypedDict):
    """WebhookProjectCardMovedPropChangesPropColumnId"""

    from_: int


class WebhookProjectCardMovedPropProjectCardType(TypedDict):
    """WebhookProjectCardMovedPropProjectCard"""

    after_id: Union[Union[int, None], None]
    archived: bool
    column_id: int
    column_url: str
    content_url: NotRequired[str]
    created_at: datetime
    creator: Union[WebhookProjectCardMovedPropProjectCardMergedCreatorType, None]
    id: int
    node_id: str
    note: Union[Union[str, None], None]
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCardMovedPropProjectCardAllof0Type(TypedDict):
    """Project Card"""

    after_id: NotRequired[Union[int, None]]
    archived: bool
    column_id: int
    column_url: str
    content_url: NotRequired[str]
    created_at: datetime
    creator: Union[WebhookProjectCardMovedPropProjectCardAllof0PropCreatorType, None]
    id: int
    node_id: str
    note: Union[str, None]
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCardMovedPropProjectCardAllof0PropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookProjectCardMovedPropProjectCardAllof1Type(TypedDict):
    """WebhookProjectCardMovedPropProjectCardAllof1"""

    after_id: Union[float, None]
    archived: NotRequired[bool]
    column_id: NotRequired[int]
    column_url: NotRequired[str]
    created_at: NotRequired[str]
    creator: NotRequired[
        Union[WebhookProjectCardMovedPropProjectCardAllof1PropCreatorType, None]
    ]
    id: NotRequired[int]
    node_id: NotRequired[str]
    note: NotRequired[Union[str, None]]
    project_url: NotRequired[str]
    updated_at: NotRequired[str]
    url: NotRequired[str]


class WebhookProjectCardMovedPropProjectCardAllof1PropCreatorType(TypedDict):
    """WebhookProjectCardMovedPropProjectCardAllof1PropCreator"""

    avatar_url: NotRequired[str]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: NotRequired[int]
    login: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[str]
    url: NotRequired[str]


class WebhookProjectCardMovedPropProjectCardMergedCreatorType(TypedDict):
    """WebhookProjectCardMovedPropProjectCardMergedCreator"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization", "Mannequin"]]
    url: NotRequired[str]


class WebhookProjectClosedType(TypedDict):
    """project closed event"""

    action: Literal["closed"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project: WebhookProjectClosedPropProjectType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectClosedPropProjectType(TypedDict):
    """Project"""

    body: Union[str, None]
    columns_url: str
    created_at: datetime
    creator: Union[WebhookProjectClosedPropProjectPropCreatorType, None]
    html_url: str
    id: int
    name: str
    node_id: str
    number: int
    owner_url: str
    state: Literal["open", "closed"]
    updated_at: datetime
    url: str


class WebhookProjectClosedPropProjectPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectColumnCreatedType(TypedDict):
    """project_column created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_column: WebhookProjectColumnCreatedPropProjectColumnType
    repository: NotRequired[RepositoryType]
    sender: NotRequired[SimpleUserType]


class WebhookProjectColumnCreatedPropProjectColumnType(TypedDict):
    """Project Column"""

    after_id: NotRequired[Union[int, None]]
    cards_url: str
    created_at: datetime
    id: int
    name: str
    node_id: str
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectColumnDeletedType(TypedDict):
    """project_column deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_column: WebhookProjectColumnDeletedPropProjectColumnType
    repository: NotRequired[Union[None, RepositoryType]]
    sender: NotRequired[SimpleUserType]


class WebhookProjectColumnDeletedPropProjectColumnType(TypedDict):
    """Project Column"""

    after_id: NotRequired[Union[int, None]]
    cards_url: str
    created_at: datetime
    id: int
    name: str
    node_id: str
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectColumnEditedType(TypedDict):
    """project_column edited event"""

    action: Literal["edited"]
    changes: WebhookProjectColumnEditedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_column: WebhookProjectColumnEditedPropProjectColumnType
    repository: NotRequired[RepositoryType]
    sender: NotRequired[SimpleUserType]


class WebhookProjectColumnEditedPropChangesType(TypedDict):
    """WebhookProjectColumnEditedPropChanges"""

    name: NotRequired[WebhookProjectColumnEditedPropChangesPropNameType]


class WebhookProjectColumnEditedPropChangesPropNameType(TypedDict):
    """WebhookProjectColumnEditedPropChangesPropName"""

    from_: str


class WebhookProjectColumnEditedPropProjectColumnType(TypedDict):
    """Project Column"""

    after_id: NotRequired[Union[int, None]]
    cards_url: str
    created_at: datetime
    id: int
    name: str
    node_id: str
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectColumnMovedType(TypedDict):
    """project_column moved event"""

    action: Literal["moved"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project_column: WebhookProjectColumnMovedPropProjectColumnType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectColumnMovedPropProjectColumnType(TypedDict):
    """Project Column"""

    after_id: NotRequired[Union[int, None]]
    cards_url: str
    created_at: datetime
    id: int
    name: str
    node_id: str
    project_url: str
    updated_at: datetime
    url: str


class WebhookProjectCreatedType(TypedDict):
    """project created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project: WebhookProjectCreatedPropProjectType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectCreatedPropProjectType(TypedDict):
    """Project"""

    body: Union[str, None]
    columns_url: str
    created_at: datetime
    creator: Union[WebhookProjectCreatedPropProjectPropCreatorType, None]
    html_url: str
    id: int
    name: str
    node_id: str
    number: int
    owner_url: str
    state: Literal["open", "closed"]
    updated_at: datetime
    url: str


class WebhookProjectCreatedPropProjectPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectDeletedType(TypedDict):
    """project deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project: WebhookProjectDeletedPropProjectType
    repository: NotRequired[Union[None, RepositoryType]]
    sender: NotRequired[SimpleUserType]


class WebhookProjectDeletedPropProjectType(TypedDict):
    """Project"""

    body: Union[str, None]
    columns_url: str
    created_at: datetime
    creator: Union[WebhookProjectDeletedPropProjectPropCreatorType, None]
    html_url: str
    id: int
    name: str
    node_id: str
    number: int
    owner_url: str
    state: Literal["open", "closed"]
    updated_at: datetime
    url: str


class WebhookProjectDeletedPropProjectPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectEditedType(TypedDict):
    """project edited event"""

    action: Literal["edited"]
    changes: NotRequired[WebhookProjectEditedPropChangesType]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project: WebhookProjectEditedPropProjectType
    repository: NotRequired[RepositoryType]
    sender: NotRequired[SimpleUserType]


class WebhookProjectEditedPropChangesType(TypedDict):
    """WebhookProjectEditedPropChanges

    The changes to the project if the action was `edited`.
    """

    body: NotRequired[WebhookProjectEditedPropChangesPropBodyType]
    name: NotRequired[WebhookProjectEditedPropChangesPropNameType]


class WebhookProjectEditedPropChangesPropBodyType(TypedDict):
    """WebhookProjectEditedPropChangesPropBody"""

    from_: str


class WebhookProjectEditedPropChangesPropNameType(TypedDict):
    """WebhookProjectEditedPropChangesPropName"""

    from_: str


class WebhookProjectEditedPropProjectType(TypedDict):
    """Project"""

    body: Union[str, None]
    columns_url: str
    created_at: datetime
    creator: Union[WebhookProjectEditedPropProjectPropCreatorType, None]
    html_url: str
    id: int
    name: str
    node_id: str
    number: int
    owner_url: str
    state: Literal["open", "closed"]
    updated_at: datetime
    url: str


class WebhookProjectEditedPropProjectPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookProjectReopenedType(TypedDict):
    """project reopened event"""

    action: Literal["reopened"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    project: WebhookProjectReopenedPropProjectType
    repository: NotRequired[RepositoryType]
    sender: SimpleUserType


class WebhookProjectReopenedPropProjectType(TypedDict):
    """Project"""

    body: Union[str, None]
    columns_url: str
    created_at: datetime
    creator: Union[WebhookProjectReopenedPropProjectPropCreatorType, None]
    html_url: str
    id: int
    name: str
    node_id: str
    number: int
    owner_url: str
    state: Literal["open", "closed"]
    updated_at: datetime
    url: str


class WebhookProjectReopenedPropProjectPropCreatorType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookSecretScanningAlertCreatedType(TypedDict):
    """secret_scanning_alert created event"""

    action: Literal["created"]
    alert: SecretScanningAlertType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: NotRequired[SimpleUserType]


class WebhookSecretScanningAlertLocationCreatedType(TypedDict):
    """Secret Scanning Alert Location Created Event"""

    action: NotRequired[Literal["created"]]
    alert: SecretScanningAlertType
    installation: NotRequired[SimpleInstallationType]
    location: SecretScanningLocationType
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType


class WebhookSecretScanningAlertLocationCreatedFormEncodedType(TypedDict):
    """Secret Scanning Alert Location Created Event"""

    payload: str


class WebhookSecretScanningAlertReopenedType(TypedDict):
    """secret_scanning_alert reopened event"""

    action: Literal["reopened"]
    alert: SecretScanningAlertType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: NotRequired[SimpleUserType]


class WebhookSecretScanningAlertResolvedType(TypedDict):
    """secret_scanning_alert resolved event"""

    action: Literal["resolved"]
    alert: WebhookSecretScanningAlertResolvedPropAlertType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: NotRequired[SimpleUserType]


class WebhookSecretScanningAlertResolvedPropAlertType(TypedDict):
    """WebhookSecretScanningAlertResolvedPropAlert"""

    created_at: NotRequired[datetime]
    html_url: NotRequired[str]
    locations_url: NotRequired[str]
    number: NotRequired[int]
    push_protection_bypassed: NotRequired[Union[bool, None]]
    push_protection_bypassed_at: NotRequired[Union[datetime, None]]
    push_protection_bypassed_by: NotRequired[Union[None, SimpleUserType]]
    resolution: NotRequired[
        Union[
            None,
            Literal[
                "false_positive",
                "wont_fix",
                "revoked",
                "used_in_tests",
                "pattern_deleted",
                "pattern_edited",
            ],
        ]
    ]
    resolved_at: NotRequired[Union[datetime, None]]
    resolved_by: NotRequired[Union[None, SimpleUserType]]
    resolution_comment: NotRequired[Union[str, None]]
    secret: NotRequired[str]
    secret_type: NotRequired[str]
    secret_type_display_name: NotRequired[str]
    state: NotRequired[Literal["open", "resolved"]]
    updated_at: NotRequired[datetime]
    url: NotRequired[str]


class WebhookSecretScanningAlertRevokedType(TypedDict):
    """secret_scanning_alert revoked event"""

    action: Literal["revoked"]
    alert: SecretScanningAlertType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: NotRequired[SimpleUserType]


class WebhookTeamAddType(TypedDict):
    """team_add event"""

    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: RepositoryType
    sender: SimpleUserType
    team: WebhookTeamAddPropTeamType


class WebhookTeamAddPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookTeamAddPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookTeamAddPropTeamPropParentType(TypedDict):
    """WebhookTeamAddPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookTeamAddedToRepositoryType(TypedDict):
    """team added_to_repository event"""

    action: Literal["added_to_repository"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[WebhookTeamAddedToRepositoryPropRepositoryType]
    sender: NotRequired[SimpleUserType]
    team: WebhookTeamAddedToRepositoryPropTeamType


class WebhookTeamAddedToRepositoryPropRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[WebhookTeamAddedToRepositoryPropRepositoryPropLicenseType, None]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[WebhookTeamAddedToRepositoryPropRepositoryPropOwnerType, None]
    permissions: NotRequired[
        WebhookTeamAddedToRepositoryPropRepositoryPropPermissionsType
    ]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int


class WebhookTeamAddedToRepositoryPropRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookTeamAddedToRepositoryPropRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookTeamAddedToRepositoryPropRepositoryPropPermissionsType(TypedDict):
    """WebhookTeamAddedToRepositoryPropRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookTeamAddedToRepositoryPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookTeamAddedToRepositoryPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookTeamAddedToRepositoryPropTeamPropParentType(TypedDict):
    """WebhookTeamAddedToRepositoryPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookTeamCreatedType(TypedDict):
    """team created event"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[WebhookTeamCreatedPropRepositoryType]
    sender: SimpleUserType
    team: WebhookTeamCreatedPropTeamType


class WebhookTeamCreatedPropRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[WebhookTeamCreatedPropRepositoryPropLicenseType, None]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[WebhookTeamCreatedPropRepositoryPropOwnerType, None]
    permissions: NotRequired[WebhookTeamCreatedPropRepositoryPropPermissionsType]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int


class WebhookTeamCreatedPropRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookTeamCreatedPropRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookTeamCreatedPropRepositoryPropPermissionsType(TypedDict):
    """WebhookTeamCreatedPropRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookTeamCreatedPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookTeamCreatedPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookTeamCreatedPropTeamPropParentType(TypedDict):
    """WebhookTeamCreatedPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookTeamDeletedType(TypedDict):
    """team deleted event"""

    action: Literal["deleted"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[WebhookTeamDeletedPropRepositoryType]
    sender: NotRequired[SimpleUserType]
    team: WebhookTeamDeletedPropTeamType


class WebhookTeamDeletedPropRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[WebhookTeamDeletedPropRepositoryPropLicenseType, None]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[WebhookTeamDeletedPropRepositoryPropOwnerType, None]
    permissions: NotRequired[WebhookTeamDeletedPropRepositoryPropPermissionsType]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int


class WebhookTeamDeletedPropRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookTeamDeletedPropRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookTeamDeletedPropRepositoryPropPermissionsType(TypedDict):
    """WebhookTeamDeletedPropRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookTeamDeletedPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookTeamDeletedPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookTeamDeletedPropTeamPropParentType(TypedDict):
    """WebhookTeamDeletedPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookTeamEditedType(TypedDict):
    """team edited event"""

    action: Literal["edited"]
    changes: WebhookTeamEditedPropChangesType
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[WebhookTeamEditedPropRepositoryType]
    sender: SimpleUserType
    team: WebhookTeamEditedPropTeamType


class WebhookTeamEditedPropChangesType(TypedDict):
    """WebhookTeamEditedPropChanges

    The changes to the team if the action was `edited`.
    """

    description: NotRequired[WebhookTeamEditedPropChangesPropDescriptionType]
    name: NotRequired[WebhookTeamEditedPropChangesPropNameType]
    privacy: NotRequired[WebhookTeamEditedPropChangesPropPrivacyType]
    repository: NotRequired[WebhookTeamEditedPropChangesPropRepositoryType]


class WebhookTeamEditedPropChangesPropDescriptionType(TypedDict):
    """WebhookTeamEditedPropChangesPropDescription"""

    from_: str


class WebhookTeamEditedPropChangesPropNameType(TypedDict):
    """WebhookTeamEditedPropChangesPropName"""

    from_: str


class WebhookTeamEditedPropChangesPropPrivacyType(TypedDict):
    """WebhookTeamEditedPropChangesPropPrivacy"""

    from_: str


class WebhookTeamEditedPropChangesPropRepositoryType(TypedDict):
    """WebhookTeamEditedPropChangesPropRepository"""

    permissions: WebhookTeamEditedPropChangesPropRepositoryPropPermissionsType


class WebhookTeamEditedPropChangesPropRepositoryPropPermissionsType(TypedDict):
    """WebhookTeamEditedPropChangesPropRepositoryPropPermissions"""

    from_: WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFromType


class WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFromType(TypedDict):
    """WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFrom"""

    admin: NotRequired[bool]
    pull: NotRequired[bool]
    push: NotRequired[bool]


class WebhookTeamEditedPropRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[WebhookTeamEditedPropRepositoryPropLicenseType, None]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[WebhookTeamEditedPropRepositoryPropOwnerType, None]
    permissions: NotRequired[WebhookTeamEditedPropRepositoryPropPermissionsType]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int


class WebhookTeamEditedPropRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookTeamEditedPropRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookTeamEditedPropRepositoryPropPermissionsType(TypedDict):
    """WebhookTeamEditedPropRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookTeamEditedPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[Union[WebhookTeamEditedPropTeamPropParentType, None]]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookTeamEditedPropTeamPropParentType(TypedDict):
    """WebhookTeamEditedPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookTeamRemovedFromRepositoryType(TypedDict):
    """team removed_from_repository event"""

    action: Literal["removed_from_repository"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: OrganizationSimpleType
    repository: NotRequired[WebhookTeamRemovedFromRepositoryPropRepositoryType]
    sender: SimpleUserType
    team: WebhookTeamRemovedFromRepositoryPropTeamType


class WebhookTeamRemovedFromRepositoryPropRepositoryType(TypedDict):
    """Repository

    A git repository
    """

    allow_auto_merge: NotRequired[bool]
    allow_forking: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_squash_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    archive_url: str
    archived: bool
    assignees_url: str
    blobs_url: str
    branches_url: str
    clone_url: str
    collaborators_url: str
    comments_url: str
    commits_url: str
    compare_url: str
    contents_url: str
    contributors_url: str
    created_at: Union[int, datetime]
    default_branch: str
    delete_branch_on_merge: NotRequired[bool]
    deployments_url: str
    description: Union[str, None]
    disabled: NotRequired[bool]
    downloads_url: str
    events_url: str
    fork: bool
    forks: int
    forks_count: int
    forks_url: str
    full_name: str
    git_commits_url: str
    git_refs_url: str
    git_tags_url: str
    git_url: str
    has_downloads: bool
    has_issues: bool
    has_pages: bool
    has_projects: bool
    has_wiki: bool
    homepage: Union[str, None]
    hooks_url: str
    html_url: str
    id: int
    is_template: NotRequired[bool]
    issue_comment_url: str
    issue_events_url: str
    issues_url: str
    keys_url: str
    labels_url: str
    language: Union[str, None]
    languages_url: str
    license_: Union[WebhookTeamRemovedFromRepositoryPropRepositoryPropLicenseType, None]
    master_branch: NotRequired[str]
    merges_url: str
    milestones_url: str
    mirror_url: Union[str, None]
    name: str
    node_id: str
    notifications_url: str
    open_issues: int
    open_issues_count: int
    organization: NotRequired[str]
    owner: Union[WebhookTeamRemovedFromRepositoryPropRepositoryPropOwnerType, None]
    permissions: NotRequired[
        WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissionsType
    ]
    private: bool
    public: NotRequired[bool]
    pulls_url: str
    pushed_at: Union[int, datetime, None]
    releases_url: str
    role_name: NotRequired[Union[str, None]]
    size: int
    ssh_url: str
    stargazers: NotRequired[int]
    stargazers_count: int
    stargazers_url: str
    statuses_url: str
    subscribers_url: str
    subscription_url: str
    svn_url: str
    tags_url: str
    teams_url: str
    topics: List[str]
    trees_url: str
    updated_at: datetime
    url: str
    visibility: Literal["public", "private", "internal"]
    watchers: int
    watchers_count: int


class WebhookTeamRemovedFromRepositoryPropRepositoryPropLicenseType(TypedDict):
    """License"""

    key: str
    name: str
    node_id: str
    spdx_id: str
    url: Union[str, None]


class WebhookTeamRemovedFromRepositoryPropRepositoryPropOwnerType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissionsType(TypedDict):
    """WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissions"""

    admin: bool
    maintain: NotRequired[bool]
    pull: bool
    push: bool
    triage: NotRequired[bool]


class WebhookTeamRemovedFromRepositoryPropTeamType(TypedDict):
    """Team

    Groups of organization members that gives permissions on specified repositories.
    """

    deleted: NotRequired[bool]
    description: NotRequired[Union[str, None]]
    html_url: NotRequired[str]
    id: int
    members_url: NotRequired[str]
    name: str
    node_id: NotRequired[str]
    parent: NotRequired[
        Union[WebhookTeamRemovedFromRepositoryPropTeamPropParentType, None]
    ]
    permission: NotRequired[str]
    privacy: NotRequired[Literal["open", "closed", "secret"]]
    repositories_url: NotRequired[str]
    slug: NotRequired[str]
    url: NotRequired[str]


class WebhookTeamRemovedFromRepositoryPropTeamPropParentType(TypedDict):
    """WebhookTeamRemovedFromRepositoryPropTeamPropParent"""

    description: Union[str, None]
    html_url: str
    id: int
    members_url: str
    name: str
    node_id: str
    permission: str
    privacy: Literal["open", "closed", "secret"]
    repositories_url: str
    slug: str
    url: str


class WebhookUserCreatedType(TypedDict):
    """WebhookUserCreated"""

    action: Literal["created"]
    enterprise: NotRequired[EnterpriseType]
    installation: NotRequired[SimpleInstallationType]
    organization: NotRequired[OrganizationSimpleType]
    repository: NotRequired[RepositoryType]
    sender: NotRequired[SimpleUserType]
    user: NotRequired[Union[WebhookUserCreatedPropUserType, None]]


class WebhookUserCreatedPropUserType(TypedDict):
    """User"""

    avatar_url: NotRequired[str]
    deleted: NotRequired[bool]
    email: NotRequired[Union[str, None]]
    events_url: NotRequired[str]
    followers_url: NotRequired[str]
    following_url: NotRequired[str]
    gists_url: NotRequired[str]
    gravatar_id: NotRequired[str]
    html_url: NotRequired[str]
    id: int
    login: str
    name: NotRequired[str]
    node_id: NotRequired[str]
    organizations_url: NotRequired[str]
    received_events_url: NotRequired[str]
    repos_url: NotRequired[str]
    site_admin: NotRequired[bool]
    starred_url: NotRequired[str]
    subscriptions_url: NotRequired[str]
    type: NotRequired[Literal["Bot", "User", "Organization"]]
    url: NotRequired[str]


class AppManifestsCodeConversionsPostResponse201Type(TypedDict):
    """AppManifestsCodeConversionsPostResponse201"""

    id: int
    slug: NotRequired[str]
    node_id: str
    owner: Union[None, SimpleUserType]
    name: str
    description: Union[str, None]
    external_url: str
    html_url: str
    created_at: datetime
    updated_at: datetime
    permissions: IntegrationPropPermissionsType
    events: List[str]
    installations_count: NotRequired[int]
    client_id: str
    client_secret: str
    webhook_secret: Union[Union[str, None], None]
    pem: str


class AppManifestsCodeConversionsPostResponse201Allof1Type(TypedDict):
    """AppManifestsCodeConversionsPostResponse201Allof1"""

    client_id: str
    client_secret: str
    webhook_secret: Union[str, None]
    pem: str


class AppHookConfigPatchBodyType(TypedDict):
    """AppHookConfigPatchBody"""

    url: NotRequired[str]
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]


class AppHookDeliveriesDeliveryIdAttemptsPostResponse202Type(TypedDict):
    """AppHookDeliveriesDeliveryIdAttemptsPostResponse202"""


class AppInstallationsInstallationIdAccessTokensPostBodyType(TypedDict):
    """AppInstallationsInstallationIdAccessTokensPostBody"""

    repositories: NotRequired[List[str]]
    repository_ids: NotRequired[List[int]]
    permissions: NotRequired[AppPermissionsType]


class ApplicationsClientIdGrantDeleteBodyType(TypedDict):
    """ApplicationsClientIdGrantDeleteBody"""

    access_token: str


class ApplicationsClientIdTokenPostBodyType(TypedDict):
    """ApplicationsClientIdTokenPostBody"""

    access_token: str


class ApplicationsClientIdTokenDeleteBodyType(TypedDict):
    """ApplicationsClientIdTokenDeleteBody"""

    access_token: str


class ApplicationsClientIdTokenPatchBodyType(TypedDict):
    """ApplicationsClientIdTokenPatchBody"""

    access_token: str


class ApplicationsClientIdTokenScopedPostBodyType(TypedDict):
    """ApplicationsClientIdTokenScopedPostBody"""

    access_token: str
    target: NotRequired[str]
    target_id: NotRequired[int]
    repositories: NotRequired[List[str]]
    repository_ids: NotRequired[List[int]]
    permissions: NotRequired[AppPermissionsType]


class EmojisGetResponse200Type(TypedDict):
    """EmojisGetResponse200"""


class EnterprisesEnterpriseActionsPermissionsPutBodyType(TypedDict):
    """EnterprisesEnterpriseActionsPermissionsPutBody"""

    enabled_organizations: Literal["all", "none", "selected"]
    allowed_actions: NotRequired[Literal["all", "local_only", "selected"]]


class EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200Type(TypedDict):
    """EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200"""

    total_count: float
    organizations: List[OrganizationSimpleType]


class EnterprisesEnterpriseActionsPermissionsOrganizationsPutBodyType(TypedDict):
    """EnterprisesEnterpriseActionsPermissionsOrganizationsPutBody"""

    selected_organization_ids: List[int]


class EnterprisesEnterpriseActionsRunnerGroupsGetResponse200Type(TypedDict):
    """EnterprisesEnterpriseActionsRunnerGroupsGetResponse200"""

    total_count: float
    runner_groups: List[RunnerGroupsEnterpriseType]


class EnterprisesEnterpriseActionsRunnerGroupsPostBodyType(TypedDict):
    """EnterprisesEnterpriseActionsRunnerGroupsPostBody"""

    name: str
    visibility: NotRequired[Literal["selected", "all"]]
    selected_organization_ids: NotRequired[List[int]]
    runners: NotRequired[List[int]]
    allows_public_repositories: NotRequired[bool]
    restricted_to_workflows: NotRequired[bool]
    selected_workflows: NotRequired[List[str]]


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBodyType(TypedDict):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBody"""

    name: NotRequired[str]
    visibility: NotRequired[Literal["selected", "all"]]
    allows_public_repositories: NotRequired[bool]
    restricted_to_workflows: NotRequired[bool]
    selected_workflows: NotRequired[List[str]]


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200Type(
    TypedDict
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200"""

    total_count: float
    organizations: List[OrganizationSimpleType]


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBodyType(
    TypedDict
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBody"""

    selected_organization_ids: List[int]


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200Type(
    TypedDict
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200"""

    total_count: float
    runners: List[RunnerType]


class EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBodyType(
    TypedDict
):
    """EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBody"""

    runners: List[int]


class EnterprisesEnterpriseActionsRunnersGetResponse200Type(TypedDict):
    """EnterprisesEnterpriseActionsRunnersGetResponse200"""

    total_count: NotRequired[float]
    runners: NotRequired[List[RunnerType]]


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200Type(TypedDict):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200"""

    total_count: int
    labels: List[RunnerLabelType]


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBodyType(TypedDict):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBody"""

    labels: List[str]


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBodyType(TypedDict):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBody"""

    labels: List[str]


class EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200Type(TypedDict):
    """EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200"""

    total_count: int
    labels: List[RunnerLabelType]


class EnterprisesEnterpriseCodeScanningAlertsGetResponse503Type(TypedDict):
    """EnterprisesEnterpriseCodeScanningAlertsGetResponse503"""

    code: NotRequired[str]
    message: NotRequired[str]
    documentation_url: NotRequired[str]


class GistsPostBodyType(TypedDict):
    """GistsPostBody"""

    description: NotRequired[str]
    files: GistsPostBodyPropFilesType
    public: NotRequired[Union[bool, Literal["true", "false"]]]


class GistsPostBodyPropFilesType(TypedDict):
    """GistsPostBodyPropFiles

    Names and content for the files that make up the gist

    Examples:
        {'hello.rb': {'content': 'puts "Hello, World!"'}}
    """


class GistsGistIdGetResponse403Type(TypedDict):
    """GistsGistIdGetResponse403"""

    block: NotRequired[GistsGistIdGetResponse403PropBlockType]
    message: NotRequired[str]
    documentation_url: NotRequired[str]


class GistsGistIdGetResponse403PropBlockType(TypedDict):
    """GistsGistIdGetResponse403PropBlock"""

    reason: NotRequired[str]
    created_at: NotRequired[str]
    html_url: NotRequired[Union[str, None]]


class GistsGistIdPatchBodyPropFilesType(TypedDict):
    """GistsGistIdPatchBodyPropFiles

    The gist files to be updated, renamed, or deleted. Each `key` must match the
    current filename
    (including extension) of the targeted gist file. For example: `hello.py`.

    To delete a file, set the whole file to null. For example: `hello.py : null`.

    Examples:
        {'hello.rb': {'content': 'blah', 'filename': 'goodbye.rb'}}
    """


class GistsGistIdPatchBodyAnyof0Type(TypedDict):
    """GistsGistIdPatchBodyAnyof0"""

    description: str
    files: NotRequired[GistsGistIdPatchBodyPropFilesType]


class GistsGistIdPatchBodyAnyof1Type(TypedDict):
    """GistsGistIdPatchBodyAnyof1"""

    description: NotRequired[str]
    files: GistsGistIdPatchBodyPropFilesType


class GistsGistIdCommentsPostBodyType(TypedDict):
    """GistsGistIdCommentsPostBody"""

    body: str


class GistsGistIdCommentsCommentIdPatchBodyType(TypedDict):
    """GistsGistIdCommentsCommentIdPatchBody"""

    body: str


class GistsGistIdStarGetResponse404Type(TypedDict):
    """GistsGistIdStarGetResponse404"""


class InstallationRepositoriesGetResponse200Type(TypedDict):
    """InstallationRepositoriesGetResponse200"""

    total_count: int
    repositories: List[RepositoryType]
    repository_selection: NotRequired[str]


class MarkdownPostBodyType(TypedDict):
    """MarkdownPostBody"""

    text: str
    mode: NotRequired[Literal["markdown", "gfm"]]
    context: NotRequired[str]


class NotificationsPutBodyType(TypedDict):
    """NotificationsPutBody"""

    last_read_at: NotRequired[datetime]
    read: NotRequired[bool]


class NotificationsPutResponse202Type(TypedDict):
    """NotificationsPutResponse202"""

    message: NotRequired[str]


class NotificationsThreadsThreadIdSubscriptionPutBodyType(TypedDict):
    """NotificationsThreadsThreadIdSubscriptionPutBody"""

    ignored: NotRequired[bool]


class OrganizationsOrganizationIdCustomRolesGetResponse200Type(TypedDict):
    """OrganizationsOrganizationIdCustomRolesGetResponse200"""

    total_count: NotRequired[int]
    custom_roles: NotRequired[List[OrganizationCustomRepositoryRoleType]]


class OrgsOrgPatchBodyType(TypedDict):
    """OrgsOrgPatchBody"""

    billing_email: NotRequired[str]
    company: NotRequired[str]
    email: NotRequired[str]
    twitter_username: NotRequired[str]
    location: NotRequired[str]
    name: NotRequired[str]
    description: NotRequired[str]
    has_organization_projects: NotRequired[bool]
    has_repository_projects: NotRequired[bool]
    default_repository_permission: NotRequired[
        Literal["read", "write", "admin", "none"]
    ]
    members_can_create_repositories: NotRequired[bool]
    members_can_create_internal_repositories: NotRequired[bool]
    members_can_create_private_repositories: NotRequired[bool]
    members_can_create_public_repositories: NotRequired[bool]
    members_allowed_repository_creation_type: NotRequired[
        Literal["all", "private", "none"]
    ]
    members_can_create_pages: NotRequired[bool]
    members_can_create_public_pages: NotRequired[bool]
    members_can_create_private_pages: NotRequired[bool]
    members_can_fork_private_repositories: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]
    blog: NotRequired[str]
    advanced_security_enabled_for_new_repositories: NotRequired[bool]
    dependabot_alerts_enabled_for_new_repositories: NotRequired[bool]
    dependabot_security_updates_enabled_for_new_repositories: NotRequired[bool]
    dependency_graph_enabled_for_new_repositories: NotRequired[bool]
    secret_scanning_enabled_for_new_repositories: NotRequired[bool]
    secret_scanning_push_protection_enabled_for_new_repositories: NotRequired[bool]


class OrgsOrgActionsCacheUsageByRepositoryGetResponse200Type(TypedDict):
    """OrgsOrgActionsCacheUsageByRepositoryGetResponse200"""

    total_count: int
    repository_cache_usages: List[ActionsCacheUsageByRepositoryType]


class OrgsOrgActionsPermissionsPutBodyType(TypedDict):
    """OrgsOrgActionsPermissionsPutBody"""

    enabled_repositories: Literal["all", "none", "selected"]
    allowed_actions: NotRequired[Literal["all", "local_only", "selected"]]


class OrgsOrgActionsPermissionsRepositoriesGetResponse200Type(TypedDict):
    """OrgsOrgActionsPermissionsRepositoriesGetResponse200"""

    total_count: float
    repositories: List[RepositoryType]


class OrgsOrgActionsPermissionsRepositoriesPutBodyType(TypedDict):
    """OrgsOrgActionsPermissionsRepositoriesPutBody"""

    selected_repository_ids: List[int]


class OrgsOrgActionsRunnerGroupsGetResponse200Type(TypedDict):
    """OrgsOrgActionsRunnerGroupsGetResponse200"""

    total_count: float
    runner_groups: List[RunnerGroupsOrgType]


class OrgsOrgActionsRunnerGroupsPostBodyType(TypedDict):
    """OrgsOrgActionsRunnerGroupsPostBody"""

    name: str
    visibility: NotRequired[Literal["selected", "all", "private"]]
    selected_repository_ids: NotRequired[List[int]]
    runners: NotRequired[List[int]]
    allows_public_repositories: NotRequired[bool]
    restricted_to_workflows: NotRequired[bool]
    selected_workflows: NotRequired[List[str]]


class OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBodyType(TypedDict):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBody"""

    name: str
    visibility: NotRequired[Literal["selected", "all", "private"]]
    allows_public_repositories: NotRequired[bool]
    restricted_to_workflows: NotRequired[bool]
    selected_workflows: NotRequired[List[str]]


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200Type(TypedDict):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200"""

    total_count: float
    repositories: List[MinimalRepositoryType]


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBodyType(TypedDict):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBody"""

    selected_repository_ids: List[int]


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200Type(TypedDict):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200"""

    total_count: float
    runners: List[RunnerType]


class OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBodyType(TypedDict):
    """OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBody"""

    runners: List[int]


class OrgsOrgActionsRunnersGetResponse200Type(TypedDict):
    """OrgsOrgActionsRunnersGetResponse200"""

    total_count: int
    runners: List[RunnerType]


class OrgsOrgActionsRunnersRunnerIdLabelsPutBodyType(TypedDict):
    """OrgsOrgActionsRunnersRunnerIdLabelsPutBody"""

    labels: List[str]


class OrgsOrgActionsRunnersRunnerIdLabelsPostBodyType(TypedDict):
    """OrgsOrgActionsRunnersRunnerIdLabelsPostBody"""

    labels: List[str]


class OrgsOrgActionsSecretsGetResponse200Type(TypedDict):
    """OrgsOrgActionsSecretsGetResponse200"""

    total_count: int
    secrets: List[OrganizationActionsSecretType]


class OrgsOrgActionsSecretsSecretNamePutBodyType(TypedDict):
    """OrgsOrgActionsSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: NotRequired[str]
    visibility: Literal["all", "private", "selected"]
    selected_repository_ids: NotRequired[List[int]]


class OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200Type(TypedDict):
    """OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int
    repositories: List[MinimalRepositoryType]


class OrgsOrgActionsSecretsSecretNameRepositoriesPutBodyType(TypedDict):
    """OrgsOrgActionsSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int]


class OrgsOrgCodespacesGetResponse200Type(TypedDict):
    """OrgsOrgCodespacesGetResponse200"""

    total_count: int
    codespaces: List[CodespaceType]


class OrgsOrgCodespacesBillingPutBodyType(TypedDict):
    """OrgsOrgCodespacesBillingPutBody"""

    visibility: Literal[
        "disabled",
        "selected_members",
        "all_members",
        "all_members_and_outside_collaborators",
    ]
    selected_usernames: NotRequired[List[str]]


class OrgsOrgCodespacesSecretsGetResponse200Type(TypedDict):
    """OrgsOrgCodespacesSecretsGetResponse200"""

    total_count: int
    secrets: List[CodespacesOrgSecretType]


class OrgsOrgCodespacesSecretsSecretNamePutBodyType(TypedDict):
    """OrgsOrgCodespacesSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: NotRequired[str]
    visibility: Literal["all", "private", "selected"]
    selected_repository_ids: NotRequired[List[int]]


class OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200Type(TypedDict):
    """OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int
    repositories: List[MinimalRepositoryType]


class OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBodyType(TypedDict):
    """OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int]


class OrgsOrgCustomRolesPostBodyType(TypedDict):
    """OrgsOrgCustomRolesPostBody"""

    name: str
    description: NotRequired[str]
    base_role: Literal["read", "triage", "write", "maintain"]
    permissions: List[str]


class OrgsOrgCustomRolesRoleIdPatchBodyType(TypedDict):
    """OrgsOrgCustomRolesRoleIdPatchBody"""

    name: NotRequired[str]
    description: NotRequired[str]
    base_role: NotRequired[Literal["read", "triage", "write", "maintain"]]
    permissions: NotRequired[List[str]]


class OrgsOrgDependabotSecretsGetResponse200Type(TypedDict):
    """OrgsOrgDependabotSecretsGetResponse200"""

    total_count: int
    secrets: List[OrganizationDependabotSecretType]


class OrgsOrgDependabotSecretsSecretNamePutBodyType(TypedDict):
    """OrgsOrgDependabotSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: NotRequired[str]
    visibility: Literal["all", "private", "selected"]
    selected_repository_ids: NotRequired[List[str]]


class OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200Type(TypedDict):
    """OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int
    repositories: List[MinimalRepositoryType]


class OrgsOrgDependabotSecretsSecretNameRepositoriesPutBodyType(TypedDict):
    """OrgsOrgDependabotSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int]


class OrgsOrgHooksPostBodyType(TypedDict):
    """OrgsOrgHooksPostBody"""

    name: str
    config: OrgsOrgHooksPostBodyPropConfigType
    events: NotRequired[List[str]]
    active: NotRequired[bool]


class OrgsOrgHooksPostBodyPropConfigType(TypedDict):
    """OrgsOrgHooksPostBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/orgs#create-hook-config-params).
    """

    url: str
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]
    username: NotRequired[str]
    password: NotRequired[str]


class OrgsOrgHooksHookIdPatchBodyType(TypedDict):
    """OrgsOrgHooksHookIdPatchBody"""

    config: NotRequired[OrgsOrgHooksHookIdPatchBodyPropConfigType]
    events: NotRequired[List[str]]
    active: NotRequired[bool]
    name: NotRequired[str]


class OrgsOrgHooksHookIdPatchBodyPropConfigType(TypedDict):
    """OrgsOrgHooksHookIdPatchBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/orgs#update-hook-config-params).
    """

    url: str
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]


class OrgsOrgHooksHookIdConfigPatchBodyType(TypedDict):
    """OrgsOrgHooksHookIdConfigPatchBody"""

    url: NotRequired[str]
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]


class OrgsOrgInstallationsGetResponse200Type(TypedDict):
    """OrgsOrgInstallationsGetResponse200"""

    total_count: int
    installations: List[InstallationType]


class OrgsOrgInteractionLimitsGetResponse200Anyof1Type(TypedDict):
    """OrgsOrgInteractionLimitsGetResponse200Anyof1"""


class OrgsOrgInvitationsPostBodyType(TypedDict):
    """OrgsOrgInvitationsPostBody"""

    invitee_id: NotRequired[int]
    email: NotRequired[str]
    role: NotRequired[Literal["admin", "direct_member", "billing_manager"]]
    team_ids: NotRequired[List[int]]


class OrgsOrgMembersUsernameCodespacesGetResponse200Type(TypedDict):
    """OrgsOrgMembersUsernameCodespacesGetResponse200"""

    total_count: int
    codespaces: List[CodespaceType]


class OrgsOrgMembershipsUsernamePutBodyType(TypedDict):
    """OrgsOrgMembershipsUsernamePutBody"""

    role: NotRequired[Literal["admin", "member"]]


class OrgsOrgMigrationsPostBodyType(TypedDict):
    """OrgsOrgMigrationsPostBody"""

    repositories: List[str]
    lock_repositories: NotRequired[bool]
    exclude_metadata: NotRequired[bool]
    exclude_git_data: NotRequired[bool]
    exclude_attachments: NotRequired[bool]
    exclude_releases: NotRequired[bool]
    exclude_owner_projects: NotRequired[bool]
    org_metadata_only: NotRequired[bool]
    exclude: NotRequired[List[Literal["repositories"]]]


class OrgsOrgOutsideCollaboratorsUsernamePutBodyType(TypedDict):
    """OrgsOrgOutsideCollaboratorsUsernamePutBody"""

    async_: NotRequired[bool]


class OrgsOrgOutsideCollaboratorsUsernamePutResponse202Type(TypedDict):
    """OrgsOrgOutsideCollaboratorsUsernamePutResponse202"""


class OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422Type(TypedDict):
    """OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]


class OrgsOrgProjectsPostBodyType(TypedDict):
    """OrgsOrgProjectsPostBody"""

    name: str
    body: NotRequired[str]


class OrgsOrgReposPostBodyType(TypedDict):
    """OrgsOrgReposPostBody"""

    name: str
    description: NotRequired[str]
    homepage: NotRequired[str]
    private: NotRequired[bool]
    visibility: NotRequired[Literal["public", "private", "internal"]]
    has_issues: NotRequired[bool]
    has_projects: NotRequired[bool]
    has_wiki: NotRequired[bool]
    is_template: NotRequired[bool]
    team_id: NotRequired[int]
    auto_init: NotRequired[bool]
    gitignore_template: NotRequired[str]
    license_template: NotRequired[str]
    allow_squash_merge: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    use_squash_pr_title_as_default: NotRequired[bool]
    squash_merge_commit_title: NotRequired[Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]]
    squash_merge_commit_message: NotRequired[
        Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ]
    merge_commit_title: NotRequired[Literal["PR_TITLE", "MERGE_MESSAGE"]]
    merge_commit_message: NotRequired[Literal["PR_BODY", "PR_TITLE", "BLANK"]]


class OrgsOrgTeamsPostBodyType(TypedDict):
    """OrgsOrgTeamsPostBody"""

    name: str
    description: NotRequired[str]
    maintainers: NotRequired[List[str]]
    repo_names: NotRequired[List[str]]
    privacy: NotRequired[Literal["secret", "closed"]]
    permission: NotRequired[Literal["pull", "push"]]
    parent_team_id: NotRequired[int]


class OrgsOrgTeamsTeamSlugPatchBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugPatchBody"""

    name: NotRequired[str]
    description: NotRequired[str]
    privacy: NotRequired[Literal["secret", "closed"]]
    permission: NotRequired[Literal["pull", "push", "admin"]]
    parent_team_id: NotRequired[Union[int, None]]


class OrgsOrgTeamsTeamSlugDiscussionsPostBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugDiscussionsPostBody"""

    title: str
    body: str
    private: NotRequired[bool]


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBody"""

    title: NotRequired[str]
    body: NotRequired[str]


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBody"""

    body: str


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBodyType(
    TypedDict
):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBody"""

    body: str


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBodyType(
    TypedDict
):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPos
    tBody
    """

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class OrgsOrgTeamsTeamSlugMembershipsUsernamePutBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugMembershipsUsernamePutBody"""

    role: NotRequired[Literal["member", "maintainer"]]


class OrgsOrgTeamsTeamSlugProjectsProjectIdPutBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugProjectsProjectIdPutBody"""

    permission: NotRequired[Literal["read", "write", "admin"]]


class OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403Type(TypedDict):
    """OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]


class OrgsOrgTeamsTeamSlugReposOwnerRepoPutBodyType(TypedDict):
    """OrgsOrgTeamsTeamSlugReposOwnerRepoPutBody"""

    permission: NotRequired[str]


class ProjectsColumnsCardsCardIdDeleteResponse403Type(TypedDict):
    """ProjectsColumnsCardsCardIdDeleteResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]
    errors: NotRequired[List[str]]


class ProjectsColumnsCardsCardIdPatchBodyType(TypedDict):
    """ProjectsColumnsCardsCardIdPatchBody"""

    note: NotRequired[Union[str, None]]
    archived: NotRequired[bool]


class ProjectsColumnsCardsCardIdMovesPostBodyType(TypedDict):
    """ProjectsColumnsCardsCardIdMovesPostBody"""

    position: str
    column_id: NotRequired[int]


class ProjectsColumnsCardsCardIdMovesPostResponse201Type(TypedDict):
    """ProjectsColumnsCardsCardIdMovesPostResponse201"""


class ProjectsColumnsCardsCardIdMovesPostResponse403Type(TypedDict):
    """ProjectsColumnsCardsCardIdMovesPostResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]
    errors: NotRequired[
        List[ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItemsType]
    ]


class ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItemsType(TypedDict):
    """ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItems"""

    code: NotRequired[str]
    message: NotRequired[str]
    resource: NotRequired[str]
    field: NotRequired[str]


class ProjectsColumnsCardsCardIdMovesPostResponse503Type(TypedDict):
    """ProjectsColumnsCardsCardIdMovesPostResponse503"""

    code: NotRequired[str]
    message: NotRequired[str]
    documentation_url: NotRequired[str]
    errors: NotRequired[
        List[ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItemsType]
    ]


class ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItemsType(TypedDict):
    """ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItems"""

    code: NotRequired[str]
    message: NotRequired[str]


class ProjectsColumnsColumnIdPatchBodyType(TypedDict):
    """ProjectsColumnsColumnIdPatchBody"""

    name: str


class ProjectsColumnsColumnIdCardsPostBodyOneof0Type(TypedDict):
    """ProjectsColumnsColumnIdCardsPostBodyOneof0"""

    note: Union[str, None]


class ProjectsColumnsColumnIdCardsPostBodyOneof1Type(TypedDict):
    """ProjectsColumnsColumnIdCardsPostBodyOneof1"""

    content_id: int
    content_type: str


class ProjectsColumnsColumnIdCardsPostResponse503Type(TypedDict):
    """ProjectsColumnsColumnIdCardsPostResponse503"""

    code: NotRequired[str]
    message: NotRequired[str]
    documentation_url: NotRequired[str]
    errors: NotRequired[
        List[ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItemsType]
    ]


class ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItemsType(TypedDict):
    """ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItems"""

    code: NotRequired[str]
    message: NotRequired[str]


class ProjectsColumnsColumnIdMovesPostBodyType(TypedDict):
    """ProjectsColumnsColumnIdMovesPostBody"""

    position: str


class ProjectsColumnsColumnIdMovesPostResponse201Type(TypedDict):
    """ProjectsColumnsColumnIdMovesPostResponse201"""


class ProjectsProjectIdDeleteResponse403Type(TypedDict):
    """ProjectsProjectIdDeleteResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]
    errors: NotRequired[List[str]]


class ProjectsProjectIdPatchBodyType(TypedDict):
    """ProjectsProjectIdPatchBody"""

    name: NotRequired[str]
    body: NotRequired[Union[str, None]]
    state: NotRequired[str]
    organization_permission: NotRequired[Literal["read", "write", "admin", "none"]]
    private: NotRequired[bool]


class ProjectsProjectIdPatchResponse403Type(TypedDict):
    """ProjectsProjectIdPatchResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]
    errors: NotRequired[List[str]]


class ProjectsProjectIdCollaboratorsUsernamePutBodyType(TypedDict):
    """ProjectsProjectIdCollaboratorsUsernamePutBody"""

    permission: NotRequired[Literal["read", "write", "admin"]]


class ProjectsProjectIdColumnsPostBodyType(TypedDict):
    """ProjectsProjectIdColumnsPostBody"""

    name: str


class ReposOwnerRepoDeleteResponse403Type(TypedDict):
    """ReposOwnerRepoDeleteResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]


class ReposOwnerRepoPatchBodyType(TypedDict):
    """ReposOwnerRepoPatchBody"""

    name: NotRequired[str]
    description: NotRequired[str]
    homepage: NotRequired[str]
    private: NotRequired[bool]
    visibility: NotRequired[Literal["public", "private", "internal"]]
    security_and_analysis: NotRequired[
        Union[ReposOwnerRepoPatchBodyPropSecurityAndAnalysisType, None]
    ]
    has_issues: NotRequired[bool]
    has_projects: NotRequired[bool]
    has_wiki: NotRequired[bool]
    is_template: NotRequired[bool]
    default_branch: NotRequired[str]
    allow_squash_merge: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    allow_update_branch: NotRequired[bool]
    use_squash_pr_title_as_default: NotRequired[bool]
    squash_merge_commit_title: NotRequired[Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]]
    squash_merge_commit_message: NotRequired[
        Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ]
    merge_commit_title: NotRequired[Literal["PR_TITLE", "MERGE_MESSAGE"]]
    merge_commit_message: NotRequired[Literal["PR_BODY", "PR_TITLE", "BLANK"]]
    archived: NotRequired[bool]
    allow_forking: NotRequired[bool]
    web_commit_signoff_required: NotRequired[bool]


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurityType(TypedDict):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurity

    Use the `status` property to enable or disable GitHub Advanced Security for this
    repository. For more information, see "[About GitHub Advanced
    Security](/github/getting-started-with-github/learning-about-github/about-
    github-advanced-security)."
    """

    status: NotRequired[str]


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningType(TypedDict):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanning

    Use the `status` property to enable or disable secret scanning for this
    repository. For more information, see "[About secret scanning](/code-
    security/secret-security/about-secret-scanning)."
    """

    status: NotRequired[str]


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtectionType(
    TypedDict
):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtection

    Use the `status` property to enable or disable secret scanning push protection
    for this repository. For more information, see "[Protecting pushes with secret
    scanning](/code-security/secret-scanning/protecting-pushes-with-secret-
    scanning)."
    """

    status: NotRequired[str]


class ReposOwnerRepoPatchBodyPropSecurityAndAnalysisType(TypedDict):
    """ReposOwnerRepoPatchBodyPropSecurityAndAnalysis

    Specify which security and analysis features to enable or disable for the
    repository.

    To use this parameter, you must have admin permissions for the repository or be
    an owner or security manager for the organization that owns the repository. For
    more information, see "[Managing security managers in your
    organization](https://docs.github.com/organizations/managing-peoples-access-to-
    your-organization-with-roles/managing-security-managers-in-your-organization)."

    For example, to enable GitHub Advanced Security, use this data in the body of
    the `PATCH` request:
    `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`.

    You can check which security and analysis features are currently enabled by
    using a `GET /repos/{owner}/{repo}` request.
    """

    advanced_security: NotRequired[
        ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurityType
    ]
    secret_scanning: NotRequired[
        ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningType
    ]
    secret_scanning_push_protection: NotRequired[
        ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtectionType
    ]


class ReposOwnerRepoActionsArtifactsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsArtifactsGetResponse200"""

    total_count: int
    artifacts: List[ArtifactType]


class ReposOwnerRepoActionsJobsJobIdRerunPostBodyType(TypedDict):
    """ReposOwnerRepoActionsJobsJobIdRerunPostBody"""

    enable_debug_logging: NotRequired[bool]


class ReposOwnerRepoActionsPermissionsPutBodyType(TypedDict):
    """ReposOwnerRepoActionsPermissionsPutBody"""

    enabled: bool
    allowed_actions: NotRequired[Literal["all", "local_only", "selected"]]


class ReposOwnerRepoActionsRunnersGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsRunnersGetResponse200"""

    total_count: int
    runners: List[RunnerType]


class ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBodyType(TypedDict):
    """ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBody"""

    labels: List[str]


class ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBodyType(TypedDict):
    """ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBody"""

    labels: List[str]


class ReposOwnerRepoActionsRunsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsRunsGetResponse200"""

    total_count: int
    workflow_runs: List[WorkflowRunType]


class ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200"""

    total_count: int
    artifacts: List[ArtifactType]


class ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200Type(
    TypedDict
):
    """ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200"""

    total_count: int
    jobs: List[JobType]


class ReposOwnerRepoActionsRunsRunIdJobsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsRunsRunIdJobsGetResponse200"""

    total_count: int
    jobs: List[JobType]


class ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBodyType(TypedDict):
    """ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBody"""

    environment_ids: List[int]
    state: Literal["approved", "rejected"]
    comment: str


class ReposOwnerRepoActionsRunsRunIdRerunPostBodyType(TypedDict):
    """ReposOwnerRepoActionsRunsRunIdRerunPostBody"""

    enable_debug_logging: NotRequired[bool]


class ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBodyType(TypedDict):
    """ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBody"""

    enable_debug_logging: NotRequired[bool]


class ReposOwnerRepoActionsSecretsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsSecretsGetResponse200"""

    total_count: int
    secrets: List[ActionsSecretType]


class ReposOwnerRepoActionsSecretsSecretNamePutBodyType(TypedDict):
    """ReposOwnerRepoActionsSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: NotRequired[str]


class ReposOwnerRepoActionsWorkflowsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsWorkflowsGetResponse200"""

    total_count: int
    workflows: List[WorkflowType]


class ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyType(TypedDict):
    """ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBody"""

    ref: str
    inputs: NotRequired[
        ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputsType
    ]


class ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputsType(
    TypedDict
):
    """ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputs

    Input keys and values configured in the workflow file. The maximum number of
    properties is 10. Any default properties configured in the workflow file will be
    used when `inputs` are omitted.
    """


class ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200Type(TypedDict):
    """ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200"""

    total_count: int
    workflow_runs: List[WorkflowRunType]


class ReposOwnerRepoAutolinksPostBodyType(TypedDict):
    """ReposOwnerRepoAutolinksPostBody"""

    key_prefix: str
    url_template: str
    is_alphanumeric: NotRequired[bool]


class ReposOwnerRepoBranchesBranchProtectionPutBodyType(TypedDict):
    """ReposOwnerRepoBranchesBranchProtectionPutBody"""

    required_status_checks: Union[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksType, None
    ]
    enforce_admins: Union[bool, None]
    required_pull_request_reviews: Union[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsType,
        None,
    ]
    restrictions: Union[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictionsType, None
    ]
    required_linear_history: NotRequired[bool]
    allow_force_pushes: NotRequired[Union[bool, None]]
    allow_deletions: NotRequired[bool]
    block_creations: NotRequired[bool]
    required_conversation_resolution: NotRequired[bool]


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItemsType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksI
    tems
    """

    context: str
    app_id: NotRequired[int]


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecks

    Require status checks to pass before merging. Set to `null` to disable.
    """

    strict: bool
    contexts: List[str]
    checks: NotRequired[
        List[
            ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItemsType
        ]
    ]


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictionsType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropD
    ismissalRestrictions

    Specify which users, teams, and apps can dismiss pull request reviews. Pass an
    empty `dismissal_restrictions` object to disable. User and team
    `dismissal_restrictions` are only available for organization-owned repositories.
    Omit this parameter for personal repositories.
    """

    users: NotRequired[List[str]]
    teams: NotRequired[List[str]]
    apps: NotRequired[List[str]]


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowancesType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropB
    ypassPullRequestAllowances

    Allow specific users, teams, or apps to bypass pull request requirements.
    """

    users: NotRequired[List[str]]
    teams: NotRequired[List[str]]
    apps: NotRequired[List[str]]


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviews

    Require at least one approving review on a pull request, before merging. Set to
    `null` to disable.
    """

    dismissal_restrictions: NotRequired[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictionsType
    ]
    dismiss_stale_reviews: NotRequired[bool]
    require_code_owner_reviews: NotRequired[bool]
    required_approving_review_count: NotRequired[int]
    bypass_pull_request_allowances: NotRequired[
        ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowancesType
    ]


class ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictionsType(TypedDict):
    """ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictions

    Restrict who can push to the protected branch. User, app, and team
    `restrictions` are only available for organization-owned repositories. Set to
    `null` to disable.
    """

    users: List[str]
    teams: List[str]
    apps: NotRequired[List[str]]


class ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBody"""

    dismissal_restrictions: NotRequired[
        ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictionsType
    ]
    dismiss_stale_reviews: NotRequired[bool]
    require_code_owner_reviews: NotRequired[bool]
    required_approving_review_count: NotRequired[int]
    bypass_pull_request_allowances: NotRequired[
        ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowancesType
    ]


class ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictionsType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDis
    missalRestrictions

    Specify which users, teams, and apps can dismiss pull request reviews. Pass an
    empty `dismissal_restrictions` object to disable. User and team
    `dismissal_restrictions` are only available for organization-owned repositories.
    Omit this parameter for personal repositories.
    """

    users: NotRequired[List[str]]
    teams: NotRequired[List[str]]
    apps: NotRequired[List[str]]


class ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowancesType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropByp
    assPullRequestAllowances

    Allow specific users, teams, or apps to bypass pull request requirements.
    """

    users: NotRequired[List[str]]
    teams: NotRequired[List[str]]
    apps: NotRequired[List[str]]


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBody"""

    strict: NotRequired[bool]
    contexts: NotRequired[List[str]]
    checks: NotRequired[
        List[
            ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItemsType
        ]
    ]


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItemsType(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksIte
    ms
    """

    context: str
    app_id: NotRequired[int]


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0

    Examples:
        {'contexts': ['contexts']}
    """

    contexts: List[str]


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0

    Examples:
        {'contexts': ['contexts']}
    """

    contexts: List[str]


class ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneo
    f0

    Examples:
        {'contexts': ['contexts']}
    """

    contexts: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0

    Examples:
        {'apps': ['my-app']}
    """

    apps: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0

    Examples:
        {'apps': ['my-app']}
    """

    apps: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0

    Examples:
        {'apps': ['my-app']}
    """

    apps: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0

    Examples:
        {'teams': ['justice-league']}
    """

    teams: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0

    Examples:
        {'teams': ['my-team']}
    """

    teams: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0

    Examples:
        {'teams': ['my-team']}
    """

    teams: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0

    Examples:
        {'users': ['mona']}
    """

    users: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0

    Examples:
        {'users': ['mona']}
    """

    users: List[str]


class ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0Type(
    TypedDict
):
    """ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0

    Examples:
        {'users': ['mona']}
    """

    users: List[str]


class ReposOwnerRepoBranchesBranchRenamePostBodyType(TypedDict):
    """ReposOwnerRepoBranchesBranchRenamePostBody"""

    new_name: str


class ReposOwnerRepoCheckRunsPostBodyPropOutputType(TypedDict):
    """ReposOwnerRepoCheckRunsPostBodyPropOutput

    Check runs can accept a variety of data in the `output` object, including a
    `title` and `summary` and can optionally provide descriptive details about the
    run.
    """

    title: str
    summary: str
    text: NotRequired[str]
    annotations: NotRequired[
        List[ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItemsType]
    ]
    images: NotRequired[
        List[ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItemsType]
    ]


class ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItemsType(TypedDict):
    """ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItems"""

    path: str
    start_line: int
    end_line: int
    start_column: NotRequired[int]
    end_column: NotRequired[int]
    annotation_level: Literal["notice", "warning", "failure"]
    message: str
    title: NotRequired[str]
    raw_details: NotRequired[str]


class ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItemsType(TypedDict):
    """ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItems"""

    alt: str
    image_url: str
    caption: NotRequired[str]


class ReposOwnerRepoCheckRunsPostBodyPropActionsItemsType(TypedDict):
    """ReposOwnerRepoCheckRunsPostBodyPropActionsItems"""

    label: str
    description: str
    identifier: str


class ReposOwnerRepoCheckRunsPostBodyOneof0Type(TypedDict):
    """ReposOwnerRepoCheckRunsPostBodyOneof0"""

    name: str
    head_sha: str
    details_url: NotRequired[str]
    external_id: NotRequired[str]
    status: Literal["completed"]
    started_at: NotRequired[datetime]
    conclusion: Literal[
        "action_required",
        "cancelled",
        "failure",
        "neutral",
        "success",
        "skipped",
        "stale",
        "timed_out",
    ]
    completed_at: NotRequired[datetime]
    output: NotRequired[ReposOwnerRepoCheckRunsPostBodyPropOutputType]
    actions: NotRequired[List[ReposOwnerRepoCheckRunsPostBodyPropActionsItemsType]]


class ReposOwnerRepoCheckRunsPostBodyOneof1Type(TypedDict):
    """ReposOwnerRepoCheckRunsPostBodyOneof1"""

    name: str
    head_sha: str
    details_url: NotRequired[str]
    external_id: NotRequired[str]
    status: NotRequired[Literal["queued", "in_progress"]]
    started_at: NotRequired[datetime]
    conclusion: NotRequired[
        Literal[
            "action_required",
            "cancelled",
            "failure",
            "neutral",
            "success",
            "skipped",
            "stale",
            "timed_out",
        ]
    ]
    completed_at: NotRequired[datetime]
    output: NotRequired[ReposOwnerRepoCheckRunsPostBodyPropOutputType]
    actions: NotRequired[List[ReposOwnerRepoCheckRunsPostBodyPropActionsItemsType]]


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputType(TypedDict):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutput

    Check runs can accept a variety of data in the `output` object, including a
    `title` and `summary` and can optionally provide descriptive details about the
    run.
    """

    title: NotRequired[str]
    summary: str
    text: NotRequired[str]
    annotations: NotRequired[
        List[
            ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItemsType
        ]
    ]
    images: NotRequired[
        List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItemsType]
    ]


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItemsType(
    TypedDict
):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItems"""

    path: str
    start_line: int
    end_line: int
    start_column: NotRequired[int]
    end_column: NotRequired[int]
    annotation_level: Literal["notice", "warning", "failure"]
    message: str
    title: NotRequired[str]
    raw_details: NotRequired[str]


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItemsType(
    TypedDict
):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItems"""

    alt: str
    image_url: str
    caption: NotRequired[str]


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItemsType(TypedDict):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItems"""

    label: str
    description: str
    identifier: str


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0Type(TypedDict):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0"""

    name: NotRequired[str]
    details_url: NotRequired[str]
    external_id: NotRequired[str]
    started_at: NotRequired[datetime]
    status: NotRequired[Literal["completed"]]
    conclusion: Literal[
        "action_required",
        "cancelled",
        "failure",
        "neutral",
        "success",
        "skipped",
        "stale",
        "timed_out",
    ]
    completed_at: NotRequired[datetime]
    output: NotRequired[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputType]
    actions: NotRequired[
        List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItemsType]
    ]


class ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1Type(TypedDict):
    """ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1"""

    name: NotRequired[str]
    details_url: NotRequired[str]
    external_id: NotRequired[str]
    started_at: NotRequired[datetime]
    status: NotRequired[Literal["queued", "in_progress"]]
    conclusion: NotRequired[
        Literal[
            "action_required",
            "cancelled",
            "failure",
            "neutral",
            "success",
            "skipped",
            "stale",
            "timed_out",
        ]
    ]
    completed_at: NotRequired[datetime]
    output: NotRequired[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputType]
    actions: NotRequired[
        List[ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItemsType]
    ]


class ReposOwnerRepoCheckSuitesPostBodyType(TypedDict):
    """ReposOwnerRepoCheckSuitesPostBody"""

    head_sha: str


class ReposOwnerRepoCheckSuitesPreferencesPatchBodyType(TypedDict):
    """ReposOwnerRepoCheckSuitesPreferencesPatchBody"""

    auto_trigger_checks: NotRequired[
        List[
            ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItemsType
        ]
    ]


class ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItemsType(
    TypedDict
):
    """ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItems"""

    app_id: int
    setting: bool


class ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200Type(TypedDict):
    """ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200"""

    total_count: int
    check_runs: List[CheckRunType]


class ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBodyType(TypedDict):
    """ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBody"""

    state: Literal["open", "dismissed"]
    dismissed_reason: NotRequired[
        Union[None, Literal["false positive", "won't fix", "used in tests"]]
    ]
    dismissed_comment: NotRequired[Union[str, None]]


class ReposOwnerRepoCodeScanningSarifsPostBodyType(TypedDict):
    """ReposOwnerRepoCodeScanningSarifsPostBody"""

    commit_sha: str
    ref: str
    sarif: str
    checkout_uri: NotRequired[str]
    started_at: NotRequired[datetime]
    tool_name: NotRequired[str]
    validate_: NotRequired[bool]


class ReposOwnerRepoCodespacesGetResponse200Type(TypedDict):
    """ReposOwnerRepoCodespacesGetResponse200"""

    total_count: int
    codespaces: List[CodespaceType]


class ReposOwnerRepoCodespacesPostBodyType(TypedDict):
    """ReposOwnerRepoCodespacesPostBody"""

    ref: NotRequired[str]
    location: NotRequired[str]
    client_ip: NotRequired[str]
    machine: NotRequired[str]
    devcontainer_path: NotRequired[str]
    multi_repo_permissions_opt_out: NotRequired[bool]
    working_directory: NotRequired[str]
    idle_timeout_minutes: NotRequired[int]
    display_name: NotRequired[str]
    retention_period_minutes: NotRequired[int]


class ReposOwnerRepoCodespacesDevcontainersGetResponse200Type(TypedDict):
    """ReposOwnerRepoCodespacesDevcontainersGetResponse200"""

    total_count: int
    devcontainers: List[
        ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItemsType
    ]


class ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItemsType(
    TypedDict
):
    """ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItems"""

    path: str
    name: NotRequired[str]


class ReposOwnerRepoCodespacesMachinesGetResponse200Type(TypedDict):
    """ReposOwnerRepoCodespacesMachinesGetResponse200"""

    total_count: int
    machines: List[CodespaceMachineType]


class ReposOwnerRepoCodespacesNewGetResponse200Type(TypedDict):
    """ReposOwnerRepoCodespacesNewGetResponse200"""

    billable_owner: NotRequired[SimpleUserType]
    defaults: NotRequired[ReposOwnerRepoCodespacesNewGetResponse200PropDefaultsType]


class ReposOwnerRepoCodespacesNewGetResponse200PropDefaultsType(TypedDict):
    """ReposOwnerRepoCodespacesNewGetResponse200PropDefaults"""

    location: str
    devcontainer_path: Union[str, None]


class ReposOwnerRepoCodespacesSecretsGetResponse200Type(TypedDict):
    """ReposOwnerRepoCodespacesSecretsGetResponse200"""

    total_count: int
    secrets: List[RepoCodespacesSecretType]


class ReposOwnerRepoCodespacesSecretsSecretNamePutBodyType(TypedDict):
    """ReposOwnerRepoCodespacesSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: NotRequired[str]


class ReposOwnerRepoCollaboratorsUsernamePutBodyType(TypedDict):
    """ReposOwnerRepoCollaboratorsUsernamePutBody"""

    permission: NotRequired[str]


class ReposOwnerRepoCommentsCommentIdPatchBodyType(TypedDict):
    """ReposOwnerRepoCommentsCommentIdPatchBody"""

    body: str


class ReposOwnerRepoCommentsCommentIdReactionsPostBodyType(TypedDict):
    """ReposOwnerRepoCommentsCommentIdReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class ReposOwnerRepoCommitsCommitShaCommentsPostBodyType(TypedDict):
    """ReposOwnerRepoCommitsCommitShaCommentsPostBody"""

    body: str
    path: NotRequired[str]
    position: NotRequired[int]
    line: NotRequired[int]


class ReposOwnerRepoCommitsRefCheckRunsGetResponse200Type(TypedDict):
    """ReposOwnerRepoCommitsRefCheckRunsGetResponse200"""

    total_count: int
    check_runs: List[CheckRunType]


class ReposOwnerRepoCommitsRefCheckSuitesGetResponse200Type(TypedDict):
    """ReposOwnerRepoCommitsRefCheckSuitesGetResponse200"""

    total_count: int
    check_suites: List[CheckSuiteType]


class ReposOwnerRepoContentsPathPutBodyType(TypedDict):
    """ReposOwnerRepoContentsPathPutBody"""

    message: str
    content: str
    sha: NotRequired[str]
    branch: NotRequired[str]
    committer: NotRequired[ReposOwnerRepoContentsPathPutBodyPropCommitterType]
    author: NotRequired[ReposOwnerRepoContentsPathPutBodyPropAuthorType]


class ReposOwnerRepoContentsPathPutBodyPropCommitterType(TypedDict):
    """ReposOwnerRepoContentsPathPutBodyPropCommitter

    The person that committed the file. Default: the authenticated user.
    """

    name: str
    email: str
    date: NotRequired[str]


class ReposOwnerRepoContentsPathPutBodyPropAuthorType(TypedDict):
    """ReposOwnerRepoContentsPathPutBodyPropAuthor

    The author of the file. Default: The `committer` or the authenticated user if
    you omit `committer`.
    """

    name: str
    email: str
    date: NotRequired[str]


class ReposOwnerRepoContentsPathDeleteBodyType(TypedDict):
    """ReposOwnerRepoContentsPathDeleteBody"""

    message: str
    sha: str
    branch: NotRequired[str]
    committer: NotRequired[ReposOwnerRepoContentsPathDeleteBodyPropCommitterType]
    author: NotRequired[ReposOwnerRepoContentsPathDeleteBodyPropAuthorType]


class ReposOwnerRepoContentsPathDeleteBodyPropCommitterType(TypedDict):
    """ReposOwnerRepoContentsPathDeleteBodyPropCommitter

    object containing information about the committer.
    """

    name: NotRequired[str]
    email: NotRequired[str]


class ReposOwnerRepoContentsPathDeleteBodyPropAuthorType(TypedDict):
    """ReposOwnerRepoContentsPathDeleteBodyPropAuthor

    object containing information about the author.
    """

    name: NotRequired[str]
    email: NotRequired[str]


class ReposOwnerRepoDependabotAlertsAlertNumberPatchBodyType(TypedDict):
    """ReposOwnerRepoDependabotAlertsAlertNumberPatchBody"""

    state: Literal["dismissed", "open"]
    dismissed_reason: NotRequired[
        Literal[
            "fix_started", "inaccurate", "no_bandwidth", "not_used", "tolerable_risk"
        ]
    ]
    dismissed_comment: NotRequired[str]


class ReposOwnerRepoDependabotSecretsGetResponse200Type(TypedDict):
    """ReposOwnerRepoDependabotSecretsGetResponse200"""

    total_count: int
    secrets: List[DependabotSecretType]


class ReposOwnerRepoDependabotSecretsSecretNamePutBodyType(TypedDict):
    """ReposOwnerRepoDependabotSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: NotRequired[str]


class ReposOwnerRepoDependencyGraphSnapshotsPostResponse201Type(TypedDict):
    """ReposOwnerRepoDependencyGraphSnapshotsPostResponse201"""

    id: int
    created_at: str
    result: str
    message: str


class ReposOwnerRepoDeploymentsPostBodyType(TypedDict):
    """ReposOwnerRepoDeploymentsPostBody"""

    ref: str
    task: NotRequired[str]
    auto_merge: NotRequired[bool]
    required_contexts: NotRequired[List[str]]
    payload: NotRequired[
        Union[ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0Type, str]
    ]
    environment: NotRequired[str]
    description: NotRequired[Union[str, None]]
    transient_environment: NotRequired[bool]
    production_environment: NotRequired[bool]


class ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0Type(TypedDict):
    """ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0"""


class ReposOwnerRepoDeploymentsPostResponse202Type(TypedDict):
    """ReposOwnerRepoDeploymentsPostResponse202"""

    message: NotRequired[str]


class ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBodyType(TypedDict):
    """ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBody"""

    state: Literal[
        "error", "failure", "inactive", "in_progress", "queued", "pending", "success"
    ]
    target_url: NotRequired[str]
    log_url: NotRequired[str]
    description: NotRequired[str]
    environment: NotRequired[Literal["production", "staging", "qa"]]
    environment_url: NotRequired[str]
    auto_inactive: NotRequired[bool]


class ReposOwnerRepoDispatchesPostBodyType(TypedDict):
    """ReposOwnerRepoDispatchesPostBody"""

    event_type: str
    client_payload: NotRequired[ReposOwnerRepoDispatchesPostBodyPropClientPayloadType]


class ReposOwnerRepoDispatchesPostBodyPropClientPayloadType(TypedDict):
    """ReposOwnerRepoDispatchesPostBodyPropClientPayload

    JSON payload with extra information about the webhook event that your action or
    workflow may use. The maximum number of top-level properties is 10.
    """


class ReposOwnerRepoEnvironmentsGetResponse200Type(TypedDict):
    """ReposOwnerRepoEnvironmentsGetResponse200"""

    total_count: NotRequired[int]
    environments: NotRequired[List[EnvironmentType]]


class ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItemsType(TypedDict):
    """ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItems"""

    type: NotRequired[Literal["User", "Team"]]
    id: NotRequired[int]


class ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyType(TypedDict):
    """ReposOwnerRepoEnvironmentsEnvironmentNamePutBody"""

    wait_timer: NotRequired[int]
    reviewers: NotRequired[
        Union[
            List[
                ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItemsType
            ],
            None,
        ]
    ]
    deployment_branch_policy: NotRequired[
        Union[DeploymentBranchPolicySettingsType, None]
    ]


class ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200Type(
    TypedDict
):
    """ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200"""

    total_count: int
    branch_policies: List[DeploymentBranchPolicyType]


class ReposOwnerRepoForksPostBodyType(TypedDict):
    """ReposOwnerRepoForksPostBody"""

    organization: NotRequired[str]
    name: NotRequired[str]
    default_branch_only: NotRequired[bool]


class ReposOwnerRepoGitBlobsPostBodyType(TypedDict):
    """ReposOwnerRepoGitBlobsPostBody"""

    content: str
    encoding: NotRequired[str]


class ReposOwnerRepoGitCommitsPostBodyType(TypedDict):
    """ReposOwnerRepoGitCommitsPostBody"""

    message: str
    tree: str
    parents: NotRequired[List[str]]
    author: NotRequired[ReposOwnerRepoGitCommitsPostBodyPropAuthorType]
    committer: NotRequired[ReposOwnerRepoGitCommitsPostBodyPropCommitterType]
    signature: NotRequired[str]


class ReposOwnerRepoGitCommitsPostBodyPropAuthorType(TypedDict):
    """ReposOwnerRepoGitCommitsPostBodyPropAuthor

    Information about the author of the commit. By default, the `author` will be the
    authenticated user and the current date. See the `author` and `committer` object
    below for details.
    """

    name: str
    email: str
    date: NotRequired[datetime]


class ReposOwnerRepoGitCommitsPostBodyPropCommitterType(TypedDict):
    """ReposOwnerRepoGitCommitsPostBodyPropCommitter

    Information about the person who is making the commit. By default, `committer`
    will use the information set in `author`. See the `author` and `committer`
    object below for details.
    """

    name: NotRequired[str]
    email: NotRequired[str]
    date: NotRequired[datetime]


class ReposOwnerRepoGitRefsPostBodyType(TypedDict):
    """ReposOwnerRepoGitRefsPostBody"""

    ref: str
    sha: str
    key: NotRequired[str]


class ReposOwnerRepoGitRefsRefPatchBodyType(TypedDict):
    """ReposOwnerRepoGitRefsRefPatchBody"""

    sha: str
    force: NotRequired[bool]


class ReposOwnerRepoGitTagsPostBodyType(TypedDict):
    """ReposOwnerRepoGitTagsPostBody"""

    tag: str
    message: str
    object_: str
    type: Literal["commit", "tree", "blob"]
    tagger: NotRequired[ReposOwnerRepoGitTagsPostBodyPropTaggerType]


class ReposOwnerRepoGitTagsPostBodyPropTaggerType(TypedDict):
    """ReposOwnerRepoGitTagsPostBodyPropTagger

    An object with information about the individual creating the tag.
    """

    name: str
    email: str
    date: NotRequired[datetime]


class ReposOwnerRepoGitTreesPostBodyType(TypedDict):
    """ReposOwnerRepoGitTreesPostBody"""

    tree: List[ReposOwnerRepoGitTreesPostBodyPropTreeItemsType]
    base_tree: NotRequired[str]


class ReposOwnerRepoGitTreesPostBodyPropTreeItemsType(TypedDict):
    """ReposOwnerRepoGitTreesPostBodyPropTreeItems"""

    path: NotRequired[str]
    mode: NotRequired[Literal["100644", "100755", "040000", "160000", "120000"]]
    type: NotRequired[Literal["blob", "tree", "commit"]]
    sha: NotRequired[Union[str, None]]
    content: NotRequired[str]


class ReposOwnerRepoHooksPostBodyPropConfigType(TypedDict):
    """ReposOwnerRepoHooksPostBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/repos#create-hook-config-params).
    """

    url: NotRequired[str]
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]
    token: NotRequired[str]
    digest: NotRequired[str]


class ReposOwnerRepoHooksPostBodyType(TypedDict):
    """ReposOwnerRepoHooksPostBody"""

    name: NotRequired[str]
    config: NotRequired[ReposOwnerRepoHooksPostBodyPropConfigType]
    events: NotRequired[List[str]]
    active: NotRequired[bool]


class ReposOwnerRepoHooksHookIdPatchBodyType(TypedDict):
    """ReposOwnerRepoHooksHookIdPatchBody"""

    config: NotRequired[ReposOwnerRepoHooksHookIdPatchBodyPropConfigType]
    events: NotRequired[List[str]]
    add_events: NotRequired[List[str]]
    remove_events: NotRequired[List[str]]
    active: NotRequired[bool]


class ReposOwnerRepoHooksHookIdPatchBodyPropConfigType(TypedDict):
    """ReposOwnerRepoHooksHookIdPatchBodyPropConfig

    Key/value pairs to provide settings for this webhook. [These are defined
    below](https://docs.github.com/rest/reference/repos#create-hook-config-params).
    """

    url: str
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]
    address: NotRequired[str]
    room: NotRequired[str]


class ReposOwnerRepoHooksHookIdConfigPatchBodyType(TypedDict):
    """ReposOwnerRepoHooksHookIdConfigPatchBody"""

    url: NotRequired[str]
    content_type: NotRequired[str]
    secret: NotRequired[str]
    insecure_ssl: NotRequired[Union[str, float]]


class ReposOwnerRepoImportPutBodyType(TypedDict):
    """ReposOwnerRepoImportPutBody"""

    vcs_url: str
    vcs: NotRequired[Literal["subversion", "git", "mercurial", "tfvc"]]
    vcs_username: NotRequired[str]
    vcs_password: NotRequired[str]
    tfvc_project: NotRequired[str]


class ReposOwnerRepoImportPatchBodyType(TypedDict):
    """ReposOwnerRepoImportPatchBody"""

    vcs_username: NotRequired[str]
    vcs_password: NotRequired[str]
    vcs: NotRequired[Literal["subversion", "tfvc", "git", "mercurial"]]
    tfvc_project: NotRequired[str]


class ReposOwnerRepoImportAuthorsAuthorIdPatchBodyType(TypedDict):
    """ReposOwnerRepoImportAuthorsAuthorIdPatchBody"""

    email: NotRequired[str]
    name: NotRequired[str]


class ReposOwnerRepoImportLfsPatchBodyType(TypedDict):
    """ReposOwnerRepoImportLfsPatchBody"""

    use_lfs: Literal["opt_in", "opt_out"]


class ReposOwnerRepoInteractionLimitsGetResponse200Anyof1Type(TypedDict):
    """ReposOwnerRepoInteractionLimitsGetResponse200Anyof1"""


class ReposOwnerRepoInvitationsInvitationIdPatchBodyType(TypedDict):
    """ReposOwnerRepoInvitationsInvitationIdPatchBody"""

    permissions: NotRequired[Literal["read", "write", "maintain", "triage", "admin"]]


class ReposOwnerRepoIssuesPostBodyType(TypedDict):
    """ReposOwnerRepoIssuesPostBody"""

    title: Union[str, int]
    body: NotRequired[str]
    assignee: NotRequired[Union[str, None]]
    milestone: NotRequired[Union[str, int, None]]
    labels: NotRequired[
        List[Union[str, ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1Type]]
    ]
    assignees: NotRequired[List[str]]


class ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1Type(TypedDict):
    """ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1"""

    id: NotRequired[int]
    name: NotRequired[str]
    description: NotRequired[Union[str, None]]
    color: NotRequired[Union[str, None]]


class ReposOwnerRepoIssuesCommentsCommentIdPatchBodyType(TypedDict):
    """ReposOwnerRepoIssuesCommentsCommentIdPatchBody"""

    body: str


class ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBodyType(TypedDict):
    """ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class ReposOwnerRepoIssuesIssueNumberPatchBodyType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberPatchBody"""

    title: NotRequired[Union[str, int, None]]
    body: NotRequired[Union[str, None]]
    assignee: NotRequired[Union[str, None]]
    state: NotRequired[Literal["open", "closed"]]
    state_reason: NotRequired[
        Union[None, Literal["completed", "not_planned", "reopened"]]
    ]
    milestone: NotRequired[Union[str, int, None]]
    labels: NotRequired[
        List[
            Union[
                str, ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1Type
            ]
        ]
    ]
    assignees: NotRequired[List[str]]


class ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1Type(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1"""

    id: NotRequired[int]
    name: NotRequired[str]
    description: NotRequired[Union[str, None]]
    color: NotRequired[Union[str, None]]


class ReposOwnerRepoIssuesIssueNumberAssigneesPostBodyType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberAssigneesPostBody"""

    assignees: NotRequired[List[str]]


class ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBodyType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBody"""

    assignees: NotRequired[List[str]]


class ReposOwnerRepoIssuesIssueNumberCommentsPostBodyType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberCommentsPostBody"""

    body: str


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0Type(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0"""

    labels: NotRequired[List[str]]


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2Type(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2"""

    labels: NotRequired[
        List[ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItemsType]
    ]


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItemsType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItems"""

    name: str


class ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3ItemsType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3Items"""

    name: str


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0Type(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0"""

    labels: NotRequired[List[str]]


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2Type(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2"""

    labels: NotRequired[
        List[ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItemsType]
    ]


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItemsType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItems"""

    name: str


class ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3ItemsType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3Items"""

    name: str


class ReposOwnerRepoIssuesIssueNumberLockPutBodyType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberLockPutBody"""

    lock_reason: NotRequired[Literal["off-topic", "too heated", "resolved", "spam"]]


class ReposOwnerRepoIssuesIssueNumberReactionsPostBodyType(TypedDict):
    """ReposOwnerRepoIssuesIssueNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class ReposOwnerRepoKeysPostBodyType(TypedDict):
    """ReposOwnerRepoKeysPostBody"""

    title: NotRequired[str]
    key: str
    read_only: NotRequired[bool]


class ReposOwnerRepoLabelsPostBodyType(TypedDict):
    """ReposOwnerRepoLabelsPostBody"""

    name: str
    color: NotRequired[str]
    description: NotRequired[str]


class ReposOwnerRepoLabelsNamePatchBodyType(TypedDict):
    """ReposOwnerRepoLabelsNamePatchBody"""

    new_name: NotRequired[str]
    color: NotRequired[str]
    description: NotRequired[str]


class ReposOwnerRepoMergeUpstreamPostBodyType(TypedDict):
    """ReposOwnerRepoMergeUpstreamPostBody"""

    branch: str


class ReposOwnerRepoMergesPostBodyType(TypedDict):
    """ReposOwnerRepoMergesPostBody"""

    base: str
    head: str
    commit_message: NotRequired[str]


class ReposOwnerRepoMilestonesPostBodyType(TypedDict):
    """ReposOwnerRepoMilestonesPostBody"""

    title: str
    state: NotRequired[Literal["open", "closed"]]
    description: NotRequired[str]
    due_on: NotRequired[datetime]


class ReposOwnerRepoMilestonesMilestoneNumberPatchBodyType(TypedDict):
    """ReposOwnerRepoMilestonesMilestoneNumberPatchBody"""

    title: NotRequired[str]
    state: NotRequired[Literal["open", "closed"]]
    description: NotRequired[str]
    due_on: NotRequired[datetime]


class ReposOwnerRepoNotificationsPutBodyType(TypedDict):
    """ReposOwnerRepoNotificationsPutBody"""

    last_read_at: NotRequired[datetime]


class ReposOwnerRepoNotificationsPutResponse202Type(TypedDict):
    """ReposOwnerRepoNotificationsPutResponse202"""

    message: NotRequired[str]
    url: NotRequired[str]


class ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type(TypedDict):
    """ReposOwnerRepoPagesPutBodyPropSourceAnyof1

    Update the source for the repository. Must include the branch name and path.
    """

    branch: str
    path: Literal["/", "/docs"]


class ReposOwnerRepoPagesPutBodyAnyof0Type(TypedDict):
    """ReposOwnerRepoPagesPutBodyAnyof0"""

    cname: NotRequired[Union[str, None]]
    https_enforced: NotRequired[bool]
    public: NotRequired[bool]
    build_type: Literal["legacy", "workflow"]
    source: NotRequired[
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type,
        ]
    ]


class ReposOwnerRepoPagesPutBodyAnyof1Type(TypedDict):
    """ReposOwnerRepoPagesPutBodyAnyof1"""

    cname: NotRequired[Union[str, None]]
    https_enforced: NotRequired[bool]
    public: NotRequired[bool]
    build_type: NotRequired[Literal["legacy", "workflow"]]
    source: Union[
        Literal["gh-pages", "master", "master /docs"],
        ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type,
    ]


class ReposOwnerRepoPagesPutBodyAnyof2Type(TypedDict):
    """ReposOwnerRepoPagesPutBodyAnyof2"""

    cname: Union[str, None]
    https_enforced: NotRequired[bool]
    public: NotRequired[bool]
    build_type: NotRequired[Literal["legacy", "workflow"]]
    source: NotRequired[
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type,
        ]
    ]


class ReposOwnerRepoPagesPutBodyAnyof3Type(TypedDict):
    """ReposOwnerRepoPagesPutBodyAnyof3"""

    cname: NotRequired[Union[str, None]]
    https_enforced: NotRequired[bool]
    public: bool
    build_type: NotRequired[Literal["legacy", "workflow"]]
    source: NotRequired[
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type,
        ]
    ]


class ReposOwnerRepoPagesPutBodyAnyof4Type(TypedDict):
    """ReposOwnerRepoPagesPutBodyAnyof4"""

    cname: NotRequired[Union[str, None]]
    https_enforced: bool
    public: NotRequired[bool]
    build_type: NotRequired[Literal["legacy", "workflow"]]
    source: NotRequired[
        Union[
            Literal["gh-pages", "master", "master /docs"],
            ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type,
        ]
    ]


class ReposOwnerRepoPagesPostBodyPropSourceType(TypedDict):
    """ReposOwnerRepoPagesPostBodyPropSource

    The source branch and directory used to publish your Pages site.
    """

    branch: str
    path: NotRequired[Literal["/", "/docs"]]


class ReposOwnerRepoPagesPostBodyAnyof0Type(TypedDict):
    """ReposOwnerRepoPagesPostBodyAnyof0"""

    build_type: NotRequired[Literal["legacy", "workflow"]]
    source: ReposOwnerRepoPagesPostBodyPropSourceType


class ReposOwnerRepoPagesPostBodyAnyof1Type(TypedDict):
    """ReposOwnerRepoPagesPostBodyAnyof1"""

    build_type: Literal["legacy", "workflow"]
    source: NotRequired[ReposOwnerRepoPagesPostBodyPropSourceType]


class ReposOwnerRepoPagesDeploymentPostBodyType(TypedDict):
    """ReposOwnerRepoPagesDeploymentPostBody

    The object used to create GitHub Pages deployment
    """

    artifact_url: str
    environment: NotRequired[str]
    pages_build_version: str
    oidc_token: str


class ReposOwnerRepoProjectsPostBodyType(TypedDict):
    """ReposOwnerRepoProjectsPostBody"""

    name: str
    body: NotRequired[str]


class ReposOwnerRepoPullsPostBodyType(TypedDict):
    """ReposOwnerRepoPullsPostBody"""

    title: NotRequired[str]
    head: str
    base: str
    body: NotRequired[str]
    maintainer_can_modify: NotRequired[bool]
    draft: NotRequired[bool]
    issue: NotRequired[int]


class ReposOwnerRepoPullsCommentsCommentIdPatchBodyType(TypedDict):
    """ReposOwnerRepoPullsCommentsCommentIdPatchBody"""

    body: str


class ReposOwnerRepoPullsCommentsCommentIdReactionsPostBodyType(TypedDict):
    """ReposOwnerRepoPullsCommentsCommentIdReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class ReposOwnerRepoPullsPullNumberPatchBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberPatchBody"""

    title: NotRequired[str]
    body: NotRequired[str]
    state: NotRequired[Literal["open", "closed"]]
    base: NotRequired[str]
    maintainer_can_modify: NotRequired[bool]


class ReposOwnerRepoPullsPullNumberCodespacesPostBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberCodespacesPostBody"""

    location: NotRequired[str]
    client_ip: NotRequired[str]
    machine: NotRequired[str]
    devcontainer_path: NotRequired[str]
    multi_repo_permissions_opt_out: NotRequired[bool]
    working_directory: NotRequired[str]
    idle_timeout_minutes: NotRequired[int]
    display_name: NotRequired[str]
    retention_period_minutes: NotRequired[int]


class ReposOwnerRepoPullsPullNumberCommentsPostBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberCommentsPostBody"""

    body: str
    commit_id: str
    path: str
    position: NotRequired[int]
    side: NotRequired[Literal["LEFT", "RIGHT"]]
    line: int
    start_line: NotRequired[int]
    start_side: NotRequired[Literal["LEFT", "RIGHT", "side"]]
    in_reply_to: NotRequired[int]


class ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBody"""

    body: str


class ReposOwnerRepoPullsPullNumberMergePutBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberMergePutBody"""

    commit_title: NotRequired[str]
    commit_message: NotRequired[str]
    sha: NotRequired[str]
    merge_method: NotRequired[Literal["merge", "squash", "rebase"]]


class ReposOwnerRepoPullsPullNumberMergePutResponse405Type(TypedDict):
    """ReposOwnerRepoPullsPullNumberMergePutResponse405"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]


class ReposOwnerRepoPullsPullNumberMergePutResponse409Type(TypedDict):
    """ReposOwnerRepoPullsPullNumberMergePutResponse409"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]


class ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0Type(TypedDict):
    """ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0"""

    reviewers: List[str]
    team_reviewers: NotRequired[List[str]]


class ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1Type(TypedDict):
    """ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1"""

    reviewers: NotRequired[List[str]]
    team_reviewers: List[str]


class ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBody"""

    reviewers: List[str]
    team_reviewers: NotRequired[List[str]]


class ReposOwnerRepoPullsPullNumberReviewsPostBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberReviewsPostBody"""

    commit_id: NotRequired[str]
    body: NotRequired[str]
    event: NotRequired[Literal["APPROVE", "REQUEST_CHANGES", "COMMENT"]]
    comments: NotRequired[
        List[ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItemsType]
    ]


class ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItemsType(TypedDict):
    """ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItems"""

    path: str
    position: NotRequired[int]
    body: str
    line: NotRequired[int]
    side: NotRequired[str]
    start_line: NotRequired[int]
    start_side: NotRequired[str]


class ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBody"""

    body: str


class ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBody"""

    message: str
    event: NotRequired[Literal["DISMISS"]]


class ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBody"""

    body: NotRequired[str]
    event: Literal["APPROVE", "REQUEST_CHANGES", "COMMENT"]


class ReposOwnerRepoPullsPullNumberUpdateBranchPutBodyType(TypedDict):
    """ReposOwnerRepoPullsPullNumberUpdateBranchPutBody"""

    expected_head_sha: NotRequired[str]


class ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202Type(TypedDict):
    """ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202"""

    message: NotRequired[str]
    url: NotRequired[str]


class ReposOwnerRepoReleasesPostBodyType(TypedDict):
    """ReposOwnerRepoReleasesPostBody"""

    tag_name: str
    target_commitish: NotRequired[str]
    name: NotRequired[str]
    body: NotRequired[str]
    draft: NotRequired[bool]
    prerelease: NotRequired[bool]
    discussion_category_name: NotRequired[str]
    generate_release_notes: NotRequired[bool]


class ReposOwnerRepoReleasesAssetsAssetIdPatchBodyType(TypedDict):
    """ReposOwnerRepoReleasesAssetsAssetIdPatchBody"""

    name: NotRequired[str]
    label: NotRequired[str]
    state: NotRequired[str]


class ReposOwnerRepoReleasesGenerateNotesPostBodyType(TypedDict):
    """ReposOwnerRepoReleasesGenerateNotesPostBody"""

    tag_name: str
    target_commitish: NotRequired[str]
    previous_tag_name: NotRequired[str]
    configuration_file_path: NotRequired[str]


class ReposOwnerRepoReleasesReleaseIdPatchBodyType(TypedDict):
    """ReposOwnerRepoReleasesReleaseIdPatchBody"""

    tag_name: NotRequired[str]
    target_commitish: NotRequired[str]
    name: NotRequired[str]
    body: NotRequired[str]
    draft: NotRequired[bool]
    prerelease: NotRequired[bool]
    discussion_category_name: NotRequired[str]


class ReposOwnerRepoReleasesReleaseIdReactionsPostBodyType(TypedDict):
    """ReposOwnerRepoReleasesReleaseIdReactionsPostBody"""

    content: Literal["+1", "laugh", "heart", "hooray", "rocket", "eyes"]


class ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBodyType(TypedDict):
    """ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBody"""

    state: Literal["open", "resolved"]
    resolution: NotRequired[
        Union[None, Literal["false_positive", "wont_fix", "revoked", "used_in_tests"]]
    ]
    resolution_comment: NotRequired[Union[str, None]]


class ReposOwnerRepoStatusesShaPostBodyType(TypedDict):
    """ReposOwnerRepoStatusesShaPostBody"""

    state: Literal["error", "failure", "pending", "success"]
    target_url: NotRequired[Union[str, None]]
    description: NotRequired[Union[str, None]]
    context: NotRequired[str]


class ReposOwnerRepoSubscriptionPutBodyType(TypedDict):
    """ReposOwnerRepoSubscriptionPutBody"""

    subscribed: NotRequired[bool]
    ignored: NotRequired[bool]


class ReposOwnerRepoTagsProtectionPostBodyType(TypedDict):
    """ReposOwnerRepoTagsProtectionPostBody"""

    pattern: str


class ReposOwnerRepoTopicsPutBodyType(TypedDict):
    """ReposOwnerRepoTopicsPutBody"""

    names: List[str]


class ReposOwnerRepoTransferPostBodyType(TypedDict):
    """ReposOwnerRepoTransferPostBody"""

    new_owner: str
    team_ids: NotRequired[List[int]]


class ReposTemplateOwnerTemplateRepoGeneratePostBodyType(TypedDict):
    """ReposTemplateOwnerTemplateRepoGeneratePostBody"""

    owner: NotRequired[str]
    name: str
    description: NotRequired[str]
    include_all_branches: NotRequired[bool]
    private: NotRequired[bool]


class RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200Type(
    TypedDict
):
    """RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200"""

    total_count: int
    secrets: List[ActionsSecretType]


class RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBodyType(
    TypedDict
):
    """RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBody"""

    encrypted_value: str
    key_id: str


class SearchCodeGetResponse200Type(TypedDict):
    """SearchCodeGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[CodeSearchResultItemType]


class SearchCommitsGetResponse200Type(TypedDict):
    """SearchCommitsGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[CommitSearchResultItemType]


class SearchIssuesGetResponse200Type(TypedDict):
    """SearchIssuesGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[IssueSearchResultItemType]


class SearchLabelsGetResponse200Type(TypedDict):
    """SearchLabelsGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[LabelSearchResultItemType]


class SearchRepositoriesGetResponse200Type(TypedDict):
    """SearchRepositoriesGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[RepoSearchResultItemType]


class SearchTopicsGetResponse200Type(TypedDict):
    """SearchTopicsGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[TopicSearchResultItemType]


class SearchUsersGetResponse200Type(TypedDict):
    """SearchUsersGetResponse200"""

    total_count: int
    incomplete_results: bool
    items: List[UserSearchResultItemType]


class TeamsTeamIdPatchBodyType(TypedDict):
    """TeamsTeamIdPatchBody"""

    name: str
    description: NotRequired[str]
    privacy: NotRequired[Literal["secret", "closed"]]
    permission: NotRequired[Literal["pull", "push", "admin"]]
    parent_team_id: NotRequired[Union[int, None]]


class TeamsTeamIdDiscussionsPostBodyType(TypedDict):
    """TeamsTeamIdDiscussionsPostBody"""

    title: str
    body: str
    private: NotRequired[bool]


class TeamsTeamIdDiscussionsDiscussionNumberPatchBodyType(TypedDict):
    """TeamsTeamIdDiscussionsDiscussionNumberPatchBody"""

    title: NotRequired[str]
    body: NotRequired[str]


class TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBodyType(TypedDict):
    """TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBody"""

    body: str


class TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBodyType(
    TypedDict
):
    """TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBody"""

    body: str


class TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBodyType(
    TypedDict
):
    """TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBodyType(TypedDict):
    """TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBody"""

    content: Literal[
        "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"
    ]


class TeamsTeamIdMembershipsUsernamePutBodyType(TypedDict):
    """TeamsTeamIdMembershipsUsernamePutBody"""

    role: NotRequired[Literal["member", "maintainer"]]


class TeamsTeamIdProjectsProjectIdPutBodyType(TypedDict):
    """TeamsTeamIdProjectsProjectIdPutBody"""

    permission: NotRequired[Literal["read", "write", "admin"]]


class TeamsTeamIdProjectsProjectIdPutResponse403Type(TypedDict):
    """TeamsTeamIdProjectsProjectIdPutResponse403"""

    message: NotRequired[str]
    documentation_url: NotRequired[str]


class TeamsTeamIdReposOwnerRepoPutBodyType(TypedDict):
    """TeamsTeamIdReposOwnerRepoPutBody"""

    permission: NotRequired[Literal["pull", "push", "admin"]]


class UserPatchBodyType(TypedDict):
    """UserPatchBody"""

    name: NotRequired[str]
    email: NotRequired[str]
    blog: NotRequired[str]
    twitter_username: NotRequired[Union[str, None]]
    company: NotRequired[str]
    location: NotRequired[str]
    hireable: NotRequired[bool]
    bio: NotRequired[str]


class UserCodespacesGetResponse200Type(TypedDict):
    """UserCodespacesGetResponse200"""

    total_count: int
    codespaces: List[CodespaceType]


class UserCodespacesPostBodyOneof0Type(TypedDict):
    """UserCodespacesPostBodyOneof0"""

    repository_id: int
    ref: NotRequired[str]
    location: NotRequired[str]
    client_ip: NotRequired[str]
    machine: NotRequired[str]
    devcontainer_path: NotRequired[str]
    multi_repo_permissions_opt_out: NotRequired[bool]
    working_directory: NotRequired[str]
    idle_timeout_minutes: NotRequired[int]
    display_name: NotRequired[str]
    retention_period_minutes: NotRequired[int]


class UserCodespacesPostBodyOneof1Type(TypedDict):
    """UserCodespacesPostBodyOneof1"""

    pull_request: UserCodespacesPostBodyOneof1PropPullRequestType
    location: NotRequired[str]
    machine: NotRequired[str]
    devcontainer_path: NotRequired[str]
    working_directory: NotRequired[str]
    idle_timeout_minutes: NotRequired[int]


class UserCodespacesPostBodyOneof1PropPullRequestType(TypedDict):
    """UserCodespacesPostBodyOneof1PropPullRequest

    Pull request number for this codespace
    """

    pull_request_number: int
    repository_id: int


class UserCodespacesSecretsGetResponse200Type(TypedDict):
    """UserCodespacesSecretsGetResponse200"""

    total_count: int
    secrets: List[CodespacesSecretType]


class UserCodespacesSecretsSecretNamePutBodyType(TypedDict):
    """UserCodespacesSecretsSecretNamePutBody"""

    encrypted_value: NotRequired[str]
    key_id: str
    selected_repository_ids: NotRequired[List[str]]


class UserCodespacesSecretsSecretNameRepositoriesGetResponse200Type(TypedDict):
    """UserCodespacesSecretsSecretNameRepositoriesGetResponse200"""

    total_count: int
    repositories: List[MinimalRepositoryType]


class UserCodespacesSecretsSecretNameRepositoriesPutBodyType(TypedDict):
    """UserCodespacesSecretsSecretNameRepositoriesPutBody"""

    selected_repository_ids: List[int]


class UserCodespacesCodespaceNamePatchBodyType(TypedDict):
    """UserCodespacesCodespaceNamePatchBody"""

    machine: NotRequired[str]
    display_name: NotRequired[str]
    recent_folders: NotRequired[List[str]]


class UserCodespacesCodespaceNameMachinesGetResponse200Type(TypedDict):
    """UserCodespacesCodespaceNameMachinesGetResponse200"""

    total_count: int
    machines: List[CodespaceMachineType]


class UserEmailVisibilityPatchBodyType(TypedDict):
    """UserEmailVisibilityPatchBody"""

    visibility: Literal["public", "private"]


class UserEmailsPostBodyOneof0Type(TypedDict):
    """UserEmailsPostBodyOneof0

    Examples:
        {'emails': ['octocat@github.com', 'mona@github.com']}
    """

    emails: List[str]


class UserEmailsDeleteBodyOneof0Type(TypedDict):
    """UserEmailsDeleteBodyOneof0

    Deletes one or more email addresses from your GitHub account. Must contain at
    least one email address. **Note:** Alternatively, you can pass a single email
    address or an `array` of emails addresses directly, but we recommend that you
    pass an object using the `emails` key.

    Examples:
        {'emails': ['octocat@github.com', 'mona@github.com']}
    """

    emails: List[str]


class UserGpgKeysPostBodyType(TypedDict):
    """UserGpgKeysPostBody"""

    name: NotRequired[str]
    armored_public_key: str


class UserInstallationsGetResponse200Type(TypedDict):
    """UserInstallationsGetResponse200"""

    total_count: int
    installations: List[InstallationType]


class UserInstallationsInstallationIdRepositoriesGetResponse200Type(TypedDict):
    """UserInstallationsInstallationIdRepositoriesGetResponse200"""

    total_count: int
    repository_selection: NotRequired[str]
    repositories: List[RepositoryType]


class UserInteractionLimitsGetResponse200Anyof1Type(TypedDict):
    """UserInteractionLimitsGetResponse200Anyof1"""


class UserKeysPostBodyType(TypedDict):
    """UserKeysPostBody"""

    title: NotRequired[str]
    key: str


class UserMembershipsOrgsOrgPatchBodyType(TypedDict):
    """UserMembershipsOrgsOrgPatchBody"""

    state: Literal["active"]


class UserMigrationsPostBodyType(TypedDict):
    """UserMigrationsPostBody"""

    lock_repositories: NotRequired[bool]
    exclude_metadata: NotRequired[bool]
    exclude_git_data: NotRequired[bool]
    exclude_attachments: NotRequired[bool]
    exclude_releases: NotRequired[bool]
    exclude_owner_projects: NotRequired[bool]
    org_metadata_only: NotRequired[bool]
    exclude: NotRequired[List[Literal["repositories"]]]
    repositories: List[str]


class UserProjectsPostBodyType(TypedDict):
    """UserProjectsPostBody"""

    name: str
    body: NotRequired[Union[str, None]]


class UserReposPostBodyType(TypedDict):
    """UserReposPostBody"""

    name: str
    description: NotRequired[str]
    homepage: NotRequired[str]
    private: NotRequired[bool]
    has_issues: NotRequired[bool]
    has_projects: NotRequired[bool]
    has_wiki: NotRequired[bool]
    team_id: NotRequired[int]
    auto_init: NotRequired[bool]
    gitignore_template: NotRequired[str]
    license_template: NotRequired[str]
    allow_squash_merge: NotRequired[bool]
    allow_merge_commit: NotRequired[bool]
    allow_rebase_merge: NotRequired[bool]
    allow_auto_merge: NotRequired[bool]
    delete_branch_on_merge: NotRequired[bool]
    squash_merge_commit_title: NotRequired[Literal["PR_TITLE", "COMMIT_OR_PR_TITLE"]]
    squash_merge_commit_message: NotRequired[
        Literal["PR_BODY", "COMMIT_MESSAGES", "BLANK"]
    ]
    merge_commit_title: NotRequired[Literal["PR_TITLE", "MERGE_MESSAGE"]]
    merge_commit_message: NotRequired[Literal["PR_BODY", "PR_TITLE", "BLANK"]]
    has_downloads: NotRequired[bool]
    is_template: NotRequired[bool]


class UserSshSigningKeysPostBodyType(TypedDict):
    """UserSshSigningKeysPostBody"""

    title: NotRequired[str]
    key: str


__all__ = [
    "RootType",
    "SimpleUserType",
    "IntegrationType",
    "IntegrationPropPermissionsType",
    "BasicErrorType",
    "ValidationErrorSimpleType",
    "WebhookConfigType",
    "HookDeliveryItemType",
    "ScimErrorType",
    "ValidationErrorType",
    "ValidationErrorPropErrorsItemsType",
    "HookDeliveryType",
    "HookDeliveryPropRequestType",
    "HookDeliveryPropRequestPropHeadersType",
    "HookDeliveryPropRequestPropPayloadType",
    "HookDeliveryPropResponseType",
    "HookDeliveryPropResponsePropHeadersType",
    "EnterpriseType",
    "AppPermissionsType",
    "InstallationType",
    "LicenseSimpleType",
    "RepositoryType",
    "RepositoryPropPermissionsType",
    "RepositoryPropTemplateRepositoryPropOwnerType",
    "RepositoryPropTemplateRepositoryPropPermissionsType",
    "RepositoryPropTemplateRepositoryType",
    "InstallationTokenType",
    "ScopedInstallationType",
    "AuthorizationType",
    "AuthorizationPropAppType",
    "CodeOfConductType",
    "ServerStatisticsItemsType",
    "ServerStatisticsItemsPropGithubConnectType",
    "ServerStatisticsItemsPropGheStatsType",
    "ServerStatisticsItemsPropGheStatsPropCommentsType",
    "ServerStatisticsItemsPropGheStatsPropGistsType",
    "ServerStatisticsItemsPropGheStatsPropHooksType",
    "ServerStatisticsItemsPropGheStatsPropIssuesType",
    "ServerStatisticsItemsPropGheStatsPropMilestonesType",
    "ServerStatisticsItemsPropGheStatsPropOrgsType",
    "ServerStatisticsItemsPropGheStatsPropPagesType",
    "ServerStatisticsItemsPropGheStatsPropPullsType",
    "ServerStatisticsItemsPropGheStatsPropReposType",
    "ServerStatisticsItemsPropGheStatsPropUsersType",
    "ServerStatisticsItemsPropDormantUsersType",
    "ActionsCacheUsageOrgEnterpriseType",
    "ActionsEnterprisePermissionsType",
    "OrganizationSimpleType",
    "SelectedActionsType",
    "ActionsGetDefaultWorkflowPermissionsType",
    "ActionsSetDefaultWorkflowPermissionsType",
    "RunnerGroupsEnterpriseType",
    "RunnerLabelType",
    "RunnerType",
    "RunnerApplicationType",
    "AuthenticationTokenType",
    "AuthenticationTokenPropPermissionsType",
    "CodeScanningAlertRuleType",
    "CodeScanningAnalysisToolType",
    "CodeScanningAlertLocationType",
    "CodeScanningAlertInstanceType",
    "CodeScanningAlertInstancePropMessageType",
    "SimpleRepositoryType",
    "CodeScanningOrganizationAlertItemsType",
    "OrganizationSecretScanningAlertType",
    "AdvancedSecurityActiveCommittersUserType",
    "AdvancedSecurityActiveCommittersRepositoryType",
    "AdvancedSecurityActiveCommittersType",
    "ActorType",
    "MilestoneType",
    "ReactionRollupType",
    "IssueType",
    "IssuePropLabelsItemsOneof1Type",
    "IssuePropPullRequestType",
    "IssueCommentType",
    "EventType",
    "EventPropRepoType",
    "EventPropPayloadType",
    "EventPropPayloadPropPagesItemsType",
    "LinkWithTypeType",
    "FeedType",
    "FeedPropLinksType",
    "BaseGistType",
    "BaseGistPropFilesType",
    "PublicUserType",
    "PublicUserPropPlanType",
    "GistHistoryType",
    "GistHistoryPropChangeStatusType",
    "GistSimpleType",
    "GistSimplePropForksItemsType",
    "GistSimplePropForkOfPropFilesType",
    "GistSimplePropForkOfType",
    "GistSimplePropFilesType",
    "GistCommentType",
    "GistCommitType",
    "GistCommitPropChangeStatusType",
    "GitignoreTemplateType",
    "LicenseType",
    "MarketplaceListingPlanType",
    "MarketplacePurchaseType",
    "MarketplacePurchasePropMarketplacePendingChangeType",
    "MarketplacePurchasePropMarketplacePurchaseType",
    "ApiOverviewType",
    "ApiOverviewPropSshKeyFingerprintsType",
    "MinimalRepositoryType",
    "MinimalRepositoryPropPermissionsType",
    "MinimalRepositoryPropLicenseType",
    "ThreadType",
    "ThreadPropSubjectType",
    "ThreadSubscriptionType",
    "OrganizationCustomRepositoryRoleType",
    "OrganizationFullType",
    "OrganizationFullPropPlanType",
    "ActionsCacheUsageByRepositoryType",
    "ActionsOrganizationPermissionsType",
    "RunnerGroupsOrgType",
    "OrganizationActionsSecretType",
    "ActionsPublicKeyType",
    "EmptyObjectType",
    "CodespaceMachineType",
    "CodespaceType",
    "CodespacePropGitStatusType",
    "CodespacePropRuntimeConstraintsType",
    "CodespacesOrgSecretType",
    "CodespacesPublicKeyType",
    "DependabotAlertPackageType",
    "DependabotAlertSecurityVulnerabilityType",
    "DependabotAlertSecurityVulnerabilityPropFirstPatchedVersionType",
    "DependabotAlertSecurityAdvisoryType",
    "DependabotAlertSecurityAdvisoryPropCvssType",
    "DependabotAlertSecurityAdvisoryPropCwesItemsType",
    "DependabotAlertSecurityAdvisoryPropIdentifiersItemsType",
    "DependabotAlertSecurityAdvisoryPropReferencesItemsType",
    "DependabotAlertWithRepositoryType",
    "DependabotAlertWithRepositoryPropDependencyType",
    "OrganizationDependabotSecretType",
    "DependabotPublicKeyType",
    "OrganizationInvitationType",
    "OrganizationFineGrainedPermissionType",
    "OrgHookType",
    "OrgHookPropConfigType",
    "InteractionLimitResponseType",
    "InteractionLimitType",
    "TeamSimpleType",
    "TeamType",
    "TeamPropPermissionsType",
    "OrgMembershipType",
    "OrgMembershipPropPermissionsType",
    "MigrationType",
    "PackageType",
    "PackageVersionType",
    "PackageVersionPropMetadataType",
    "PackageVersionPropMetadataPropContainerType",
    "PackageVersionPropMetadataPropDockerType",
    "ProjectType",
    "ActionsBillingUsageType",
    "ActionsBillingUsagePropMinutesUsedBreakdownType",
    "PackagesBillingUsageType",
    "CombinedBillingUsageType",
    "TeamOrganizationType",
    "TeamOrganizationPropPlanType",
    "TeamFullType",
    "TeamDiscussionType",
    "TeamDiscussionCommentType",
    "ReactionType",
    "TeamMembershipType",
    "TeamProjectType",
    "TeamProjectPropPermissionsType",
    "TeamRepositoryType",
    "TeamRepositoryPropPermissionsType",
    "ProjectCardType",
    "ProjectColumnType",
    "ProjectCollaboratorPermissionType",
    "RateLimitType",
    "RateLimitOverviewType",
    "RateLimitOverviewPropResourcesType",
    "CodeOfConductSimpleType",
    "SecurityAndAnalysisPropAdvancedSecurityType",
    "SecurityAndAnalysisPropSecretScanningType",
    "SecurityAndAnalysisPropSecretScanningPushProtectionType",
    "SecurityAndAnalysisType",
    "FullRepositoryType",
    "FullRepositoryPropPermissionsType",
    "ArtifactType",
    "ArtifactPropWorkflowRunType",
    "ActionsCacheListType",
    "ActionsCacheListPropActionsCachesItemsType",
    "JobType",
    "JobPropStepsItemsType",
    "ActionsRepositoryPermissionsType",
    "ActionsWorkflowAccessToRepositoryType",
    "ReferencedWorkflowType",
    "PullRequestMinimalType",
    "PullRequestMinimalPropHeadType",
    "PullRequestMinimalPropHeadPropRepoType",
    "PullRequestMinimalPropBaseType",
    "PullRequestMinimalPropBasePropRepoType",
    "SimpleCommitType",
    "SimpleCommitPropAuthorType",
    "SimpleCommitPropCommitterType",
    "WorkflowRunType",
    "EnvironmentApprovalsType",
    "EnvironmentApprovalsPropEnvironmentsItemsType",
    "PendingDeploymentType",
    "PendingDeploymentPropEnvironmentType",
    "PendingDeploymentPropReviewersItemsType",
    "DeploymentType",
    "DeploymentPropPayloadOneof0Type",
    "WorkflowRunUsageType",
    "WorkflowRunUsagePropBillableType",
    "WorkflowRunUsagePropBillablePropUbuntuType",
    "WorkflowRunUsagePropBillablePropUbuntuPropJobRunsItemsType",
    "WorkflowRunUsagePropBillablePropMacosType",
    "WorkflowRunUsagePropBillablePropMacosPropJobRunsItemsType",
    "WorkflowRunUsagePropBillablePropWindowsType",
    "WorkflowRunUsagePropBillablePropWindowsPropJobRunsItemsType",
    "ActionsSecretType",
    "WorkflowType",
    "WorkflowUsageType",
    "WorkflowUsagePropBillableType",
    "WorkflowUsagePropBillablePropUbuntuType",
    "WorkflowUsagePropBillablePropMacosType",
    "WorkflowUsagePropBillablePropWindowsType",
    "AutolinkType",
    "ProtectedBranchRequiredStatusCheckType",
    "ProtectedBranchRequiredStatusCheckPropChecksItemsType",
    "ProtectedBranchAdminEnforcedType",
    "ProtectedBranchPullRequestReviewType",
    "ProtectedBranchPullRequestReviewPropDismissalRestrictionsType",
    "ProtectedBranchPullRequestReviewPropBypassPullRequestAllowancesType",
    "BranchRestrictionPolicyType",
    "BranchRestrictionPolicyPropUsersItemsType",
    "BranchRestrictionPolicyPropTeamsItemsType",
    "BranchRestrictionPolicyPropAppsItemsType",
    "BranchRestrictionPolicyPropAppsItemsPropOwnerType",
    "BranchRestrictionPolicyPropAppsItemsPropPermissionsType",
    "BranchProtectionType",
    "BranchProtectionPropRequiredLinearHistoryType",
    "BranchProtectionPropAllowForcePushesType",
    "BranchProtectionPropAllowDeletionsType",
    "BranchProtectionPropBlockCreationsType",
    "BranchProtectionPropRequiredConversationResolutionType",
    "BranchProtectionPropRequiredSignaturesType",
    "ShortBranchType",
    "ShortBranchPropCommitType",
    "GitUserType",
    "VerificationType",
    "DiffEntryType",
    "CommitType",
    "CommitPropCommitType",
    "CommitPropCommitPropTreeType",
    "CommitPropParentsItemsType",
    "CommitPropStatsType",
    "BranchWithProtectionType",
    "BranchWithProtectionPropLinksType",
    "StatusCheckPolicyType",
    "StatusCheckPolicyPropChecksItemsType",
    "ProtectedBranchType",
    "ProtectedBranchPropRequiredPullRequestReviewsType",
    "ProtectedBranchPropRequiredPullRequestReviewsPropDismissalRestrictionsType",
    "ProtectedBranchPropRequiredPullRequestReviewsPropBypassPullRequestAllowancesType",
    "ProtectedBranchPropRequiredSignaturesType",
    "ProtectedBranchPropEnforceAdminsType",
    "ProtectedBranchPropRequiredLinearHistoryType",
    "ProtectedBranchPropAllowForcePushesType",
    "ProtectedBranchPropAllowDeletionsType",
    "ProtectedBranchPropRequiredConversationResolutionType",
    "ProtectedBranchPropBlockCreationsType",
    "DeploymentSimpleType",
    "CheckRunType",
    "CheckRunPropOutputType",
    "CheckRunPropCheckSuiteType",
    "CheckAnnotationType",
    "CheckSuiteType",
    "CheckSuitePreferenceType",
    "CheckSuitePreferencePropPreferencesType",
    "CheckSuitePreferencePropPreferencesPropAutoTriggerChecksItemsType",
    "CodeScanningAlertRuleSummaryType",
    "CodeScanningAlertItemsType",
    "CodeScanningAlertType",
    "CodeScanningAnalysisType",
    "CodeScanningAnalysisDeletionType",
    "CodeScanningCodeqlDatabaseType",
    "CodeScanningSarifsReceiptType",
    "CodeScanningSarifsStatusType",
    "CodeownersErrorsType",
    "CodeownersErrorsPropErrorsItemsType",
    "RepoCodespacesSecretType",
    "CollaboratorType",
    "CollaboratorPropPermissionsType",
    "RepositoryInvitationType",
    "RepositoryCollaboratorPermissionType",
    "CommitCommentType",
    "BranchShortType",
    "BranchShortPropCommitType",
    "LinkType",
    "AutoMergeType",
    "PullRequestSimpleType",
    "PullRequestSimplePropLabelsItemsType",
    "PullRequestSimplePropHeadType",
    "PullRequestSimplePropBaseType",
    "PullRequestSimplePropLinksType",
    "SimpleCommitStatusType",
    "CombinedCommitStatusType",
    "StatusType",
    "CommunityHealthFileType",
    "CommunityProfileType",
    "CommunityProfilePropFilesType",
    "CommitComparisonType",
    "ContentTreeType",
    "ContentTreePropEntriesItemsType",
    "ContentTreePropEntriesItemsPropLinksType",
    "ContentTreePropLinksType",
    "ContentDirectoryItemsType",
    "ContentDirectoryItemsPropLinksType",
    "ContentFileType",
    "ContentFilePropLinksType",
    "ContentSymlinkType",
    "ContentSymlinkPropLinksType",
    "ContentSubmoduleType",
    "ContentSubmodulePropLinksType",
    "FileCommitType",
    "FileCommitPropContentPropLinksType",
    "FileCommitPropContentType",
    "FileCommitPropCommitType",
    "FileCommitPropCommitPropAuthorType",
    "FileCommitPropCommitPropCommitterType",
    "FileCommitPropCommitPropTreeType",
    "FileCommitPropCommitPropParentsItemsType",
    "FileCommitPropCommitPropVerificationType",
    "ContributorType",
    "DependabotAlertType",
    "DependabotAlertPropDependencyType",
    "DependabotSecretType",
    "DependencyGraphDiffItemsType",
    "DependencyGraphDiffItemsPropVulnerabilitiesItemsType",
    "MetadataType",
    "DependencyType",
    "ManifestType",
    "ManifestPropFileType",
    "ManifestPropResolvedType",
    "SnapshotType",
    "SnapshotPropJobType",
    "SnapshotPropDetectorType",
    "SnapshotPropManifestsType",
    "DeploymentStatusType",
    "DeploymentBranchPolicySettingsType",
    "EnvironmentType",
    "EnvironmentPropProtectionRulesItemsAnyof0Type",
    "EnvironmentPropProtectionRulesItemsAnyof1Type",
    "EnvironmentPropProtectionRulesItemsAnyof1PropReviewersItemsType",
    "EnvironmentPropProtectionRulesItemsAnyof2Type",
    "DeploymentBranchPolicyType",
    "DeploymentBranchPolicyNamePatternType",
    "ShortBlobType",
    "BlobType",
    "GitCommitType",
    "GitCommitPropAuthorType",
    "GitCommitPropCommitterType",
    "GitCommitPropTreeType",
    "GitCommitPropParentsItemsType",
    "GitCommitPropVerificationType",
    "GitRefType",
    "GitRefPropObjectType",
    "GitTagType",
    "GitTagPropTaggerType",
    "GitTagPropObjectType",
    "GitTreeType",
    "GitTreePropTreeItemsType",
    "HookResponseType",
    "HookType",
    "HookPropConfigType",
    "ImportType",
    "ImportPropProjectChoicesItemsType",
    "PorterAuthorType",
    "PorterLargeFileType",
    "IssueEventLabelType",
    "IssueEventDismissedReviewType",
    "IssueEventMilestoneType",
    "IssueEventProjectCardType",
    "IssueEventRenameType",
    "IssueEventType",
    "LabeledIssueEventType",
    "LabeledIssueEventPropLabelType",
    "UnlabeledIssueEventType",
    "UnlabeledIssueEventPropLabelType",
    "AssignedIssueEventType",
    "UnassignedIssueEventType",
    "MilestonedIssueEventType",
    "MilestonedIssueEventPropMilestoneType",
    "DemilestonedIssueEventType",
    "DemilestonedIssueEventPropMilestoneType",
    "RenamedIssueEventType",
    "RenamedIssueEventPropRenameType",
    "ReviewRequestedIssueEventType",
    "ReviewRequestRemovedIssueEventType",
    "ReviewDismissedIssueEventType",
    "ReviewDismissedIssueEventPropDismissedReviewType",
    "LockedIssueEventType",
    "AddedToProjectIssueEventType",
    "AddedToProjectIssueEventPropProjectCardType",
    "MovedColumnInProjectIssueEventType",
    "MovedColumnInProjectIssueEventPropProjectCardType",
    "RemovedFromProjectIssueEventType",
    "RemovedFromProjectIssueEventPropProjectCardType",
    "ConvertedNoteToIssueIssueEventType",
    "ConvertedNoteToIssueIssueEventPropProjectCardType",
    "LabelType",
    "TimelineCommentEventType",
    "TimelineCrossReferencedEventType",
    "TimelineCrossReferencedEventPropSourceType",
    "TimelineCommittedEventType",
    "TimelineCommittedEventPropAuthorType",
    "TimelineCommittedEventPropCommitterType",
    "TimelineCommittedEventPropTreeType",
    "TimelineCommittedEventPropParentsItemsType",
    "TimelineCommittedEventPropVerificationType",
    "TimelineReviewedEventType",
    "TimelineReviewedEventPropLinksType",
    "TimelineReviewedEventPropLinksPropHtmlType",
    "TimelineReviewedEventPropLinksPropPullRequestType",
    "PullRequestReviewCommentType",
    "PullRequestReviewCommentPropLinksType",
    "PullRequestReviewCommentPropLinksPropSelfType",
    "PullRequestReviewCommentPropLinksPropHtmlType",
    "PullRequestReviewCommentPropLinksPropPullRequestType",
    "TimelineLineCommentedEventType",
    "TimelineCommitCommentedEventType",
    "TimelineAssignedIssueEventType",
    "TimelineUnassignedIssueEventType",
    "StateChangeIssueEventType",
    "DeployKeyType",
    "LanguageType",
    "LicenseContentType",
    "LicenseContentPropLinksType",
    "MergedUpstreamType",
    "PagesSourceHashType",
    "PagesHttpsCertificateType",
    "PageType",
    "PageBuildType",
    "PageBuildPropErrorType",
    "PageBuildStatusType",
    "PageDeploymentType",
    "PagesHealthCheckType",
    "PagesHealthCheckPropDomainType",
    "PagesHealthCheckPropAltDomainType",
    "PullRequestType",
    "PullRequestPropLabelsItemsType",
    "PullRequestPropHeadType",
    "PullRequestPropHeadPropRepoPropOwnerType",
    "PullRequestPropHeadPropRepoPropPermissionsType",
    "PullRequestPropHeadPropRepoPropLicenseType",
    "PullRequestPropHeadPropRepoType",
    "PullRequestPropHeadPropUserType",
    "PullRequestPropBaseType",
    "PullRequestPropBasePropRepoType",
    "PullRequestPropBasePropRepoPropOwnerType",
    "PullRequestPropBasePropRepoPropPermissionsType",
    "PullRequestPropBasePropUserType",
    "PullRequestPropLinksType",
    "PullRequestMergeResultType",
    "PullRequestReviewRequestType",
    "PullRequestReviewType",
    "PullRequestReviewPropLinksType",
    "PullRequestReviewPropLinksPropHtmlType",
    "PullRequestReviewPropLinksPropPullRequestType",
    "ReviewCommentType",
    "ReviewCommentPropLinksType",
    "ReleaseAssetType",
    "ReleaseType",
    "ReleaseNotesContentType",
    "SecretScanningAlertType",
    "SecretScanningLocationCommitType",
    "SecretScanningLocationType",
    "StargazerType",
    "CommitActivityType",
    "ContributorActivityType",
    "ContributorActivityPropWeeksItemsType",
    "ParticipationStatsType",
    "RepositorySubscriptionType",
    "TagType",
    "TagPropCommitType",
    "TagProtectionType",
    "TopicType",
    "TrafficType",
    "CloneTrafficType",
    "ContentTrafficType",
    "ReferrerTrafficType",
    "ViewTrafficType",
    "SearchResultTextMatchesItemsType",
    "SearchResultTextMatchesItemsPropMatchesItemsType",
    "CodeSearchResultItemType",
    "CommitSearchResultItemType",
    "CommitSearchResultItemPropCommitType",
    "CommitSearchResultItemPropCommitPropAuthorType",
    "CommitSearchResultItemPropCommitPropTreeType",
    "CommitSearchResultItemPropParentsItemsType",
    "IssueSearchResultItemType",
    "IssueSearchResultItemPropLabelsItemsType",
    "IssueSearchResultItemPropPullRequestType",
    "LabelSearchResultItemType",
    "RepoSearchResultItemType",
    "RepoSearchResultItemPropPermissionsType",
    "TopicSearchResultItemType",
    "TopicSearchResultItemPropRelatedItemsType",
    "TopicSearchResultItemPropRelatedItemsPropTopicRelationType",
    "TopicSearchResultItemPropAliasesItemsType",
    "TopicSearchResultItemPropAliasesItemsPropTopicRelationType",
    "UserSearchResultItemType",
    "PrivateUserType",
    "PrivateUserPropPlanType",
    "CodespacesSecretType",
    "CodespacesUserPublicKeyType",
    "CodespaceExportDetailsType",
    "EmailType",
    "GpgKeyType",
    "GpgKeyPropEmailsItemsType",
    "GpgKeyPropSubkeysItemsType",
    "KeyType",
    "MarketplaceAccountType",
    "UserMarketplacePurchaseType",
    "SshSigningKeyType",
    "StarredRepositoryType",
    "HovercardType",
    "HovercardPropContextsItemsType",
    "KeySimpleType",
    "SimpleInstallationType",
    "WebhookBranchProtectionRuleCreatedType",
    "WebhookBranchProtectionRuleCreatedPropRuleType",
    "WebhookBranchProtectionRuleDeletedType",
    "WebhookBranchProtectionRuleDeletedPropRuleType",
    "WebhookBranchProtectionRuleEditedType",
    "WebhookBranchProtectionRuleEditedPropChangesType",
    "WebhookBranchProtectionRuleEditedPropChangesPropAdminEnforcedType",
    "WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorNamesType",
    "WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedActorsOnlyType",
    "WebhookBranchProtectionRuleEditedPropChangesPropAuthorizedDismissalActorsOnlyType",
    "WebhookBranchProtectionRuleEditedPropChangesPropLinearHistoryRequirementEnforcementLevelType",
    "WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksType",
    "WebhookBranchProtectionRuleEditedPropChangesPropRequiredStatusChecksEnforcementLevelType",
    "WebhookBranchProtectionRuleEditedPropRuleType",
    "WebhookDependabotAlertCreatedType",
    "WebhookDependabotAlertDismissedType",
    "WebhookDependabotAlertFixedType",
    "WebhookDependabotAlertReintroducedType",
    "WebhookDependabotAlertReopenedType",
    "WebhookGollumType",
    "WebhookGollumPropPagesItemsType",
    "WebhookIssueCommentCreatedType",
    "WebhookIssueCommentCreatedPropCommentType",
    "WebhookIssueCommentCreatedPropCommentPropReactionsType",
    "WebhookIssueCommentCreatedPropCommentPropUserType",
    "WebhookIssueCommentCreatedPropIssueType",
    "WebhookIssueCommentCreatedPropIssueAllof0Type",
    "WebhookIssueCommentCreatedPropIssueAllof0PropAssigneeType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropMilestoneType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropPullRequestType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropReactionsType",
    "WebhookIssueCommentCreatedPropIssueAllof0PropUserType",
    "WebhookIssueCommentCreatedPropIssueAllof1Type",
    "WebhookIssueCommentCreatedPropIssueAllof1PropAssigneeType",
    "WebhookIssueCommentCreatedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssueCommentCreatedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssueCommentCreatedPropIssueAllof1PropMilestoneType",
    "WebhookIssueCommentCreatedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssueCommentCreatedPropIssueAllof1PropReactionsType",
    "WebhookIssueCommentCreatedPropIssueAllof1PropUserType",
    "WebhookIssueCommentCreatedPropIssueMergedAssigneesType",
    "WebhookIssueCommentCreatedPropIssueMergedMilestoneType",
    "WebhookIssueCommentCreatedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssueCommentCreatedPropIssueMergedReactionsType",
    "WebhookIssueCommentCreatedPropIssueMergedUserType",
    "WebhookIssueCommentDeletedType",
    "WebhookIssueCommentDeletedPropCommentType",
    "WebhookIssueCommentDeletedPropCommentPropReactionsType",
    "WebhookIssueCommentDeletedPropCommentPropUserType",
    "WebhookIssueCommentDeletedPropIssueType",
    "WebhookIssueCommentDeletedPropIssueAllof0Type",
    "WebhookIssueCommentDeletedPropIssueAllof0PropAssigneeType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropMilestoneType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropPullRequestType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropReactionsType",
    "WebhookIssueCommentDeletedPropIssueAllof0PropUserType",
    "WebhookIssueCommentDeletedPropIssueAllof1Type",
    "WebhookIssueCommentDeletedPropIssueAllof1PropAssigneeType",
    "WebhookIssueCommentDeletedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssueCommentDeletedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssueCommentDeletedPropIssueAllof1PropMilestoneType",
    "WebhookIssueCommentDeletedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssueCommentDeletedPropIssueAllof1PropReactionsType",
    "WebhookIssueCommentDeletedPropIssueAllof1PropUserType",
    "WebhookIssueCommentDeletedPropIssueMergedAssigneesType",
    "WebhookIssueCommentDeletedPropIssueMergedMilestoneType",
    "WebhookIssueCommentDeletedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssueCommentDeletedPropIssueMergedReactionsType",
    "WebhookIssueCommentDeletedPropIssueMergedUserType",
    "WebhookIssueCommentEditedType",
    "WebhookIssueCommentEditedPropChangesType",
    "WebhookIssueCommentEditedPropChangesPropBodyType",
    "WebhookIssueCommentEditedPropCommentType",
    "WebhookIssueCommentEditedPropCommentPropReactionsType",
    "WebhookIssueCommentEditedPropCommentPropUserType",
    "WebhookIssueCommentEditedPropIssueType",
    "WebhookIssueCommentEditedPropIssueAllof0Type",
    "WebhookIssueCommentEditedPropIssueAllof0PropAssigneeType",
    "WebhookIssueCommentEditedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssueCommentEditedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssueCommentEditedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssueCommentEditedPropIssueAllof0PropMilestoneType",
    "WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssueCommentEditedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssueCommentEditedPropIssueAllof0PropPullRequestType",
    "WebhookIssueCommentEditedPropIssueAllof0PropReactionsType",
    "WebhookIssueCommentEditedPropIssueAllof0PropUserType",
    "WebhookIssueCommentEditedPropIssueAllof1Type",
    "WebhookIssueCommentEditedPropIssueAllof1PropAssigneeType",
    "WebhookIssueCommentEditedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssueCommentEditedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssueCommentEditedPropIssueAllof1PropMilestoneType",
    "WebhookIssueCommentEditedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssueCommentEditedPropIssueAllof1PropReactionsType",
    "WebhookIssueCommentEditedPropIssueAllof1PropUserType",
    "WebhookIssueCommentEditedPropIssueMergedAssigneesType",
    "WebhookIssueCommentEditedPropIssueMergedMilestoneType",
    "WebhookIssueCommentEditedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssueCommentEditedPropIssueMergedReactionsType",
    "WebhookIssueCommentEditedPropIssueMergedUserType",
    "WebhookIssuesAssignedType",
    "WebhookIssuesAssignedPropAssigneeType",
    "WebhookIssuesAssignedPropIssueType",
    "WebhookIssuesAssignedPropIssuePropAssigneeType",
    "WebhookIssuesAssignedPropIssuePropAssigneesItemsType",
    "WebhookIssuesAssignedPropIssuePropLabelsItemsType",
    "WebhookIssuesAssignedPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesAssignedPropIssuePropMilestoneType",
    "WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesAssignedPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesAssignedPropIssuePropPullRequestType",
    "WebhookIssuesAssignedPropIssuePropReactionsType",
    "WebhookIssuesAssignedPropIssuePropUserType",
    "WebhookIssuesClosedType",
    "WebhookIssuesClosedPropIssueType",
    "WebhookIssuesClosedPropIssueAllof0Type",
    "WebhookIssuesClosedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesClosedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesClosedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesClosedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesClosedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesClosedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesClosedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesClosedPropIssueAllof0PropReactionsType",
    "WebhookIssuesClosedPropIssueAllof0PropUserType",
    "WebhookIssuesClosedPropIssueAllof1Type",
    "WebhookIssuesClosedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesClosedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesClosedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesClosedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesClosedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssuesClosedPropIssueAllof1PropReactionsType",
    "WebhookIssuesClosedPropIssueAllof1PropUserType",
    "WebhookIssuesClosedPropIssueMergedAssigneeType",
    "WebhookIssuesClosedPropIssueMergedAssigneesType",
    "WebhookIssuesClosedPropIssueMergedLabelsType",
    "WebhookIssuesClosedPropIssueMergedMilestoneType",
    "WebhookIssuesClosedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssuesClosedPropIssueMergedReactionsType",
    "WebhookIssuesClosedPropIssueMergedUserType",
    "WebhookIssuesDeletedType",
    "WebhookIssuesDeletedPropIssueType",
    "WebhookIssuesDeletedPropIssuePropAssigneeType",
    "WebhookIssuesDeletedPropIssuePropAssigneesItemsType",
    "WebhookIssuesDeletedPropIssuePropLabelsItemsType",
    "WebhookIssuesDeletedPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesDeletedPropIssuePropMilestoneType",
    "WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesDeletedPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesDeletedPropIssuePropPullRequestType",
    "WebhookIssuesDeletedPropIssuePropReactionsType",
    "WebhookIssuesDeletedPropIssuePropUserType",
    "WebhookIssuesDemilestonedType",
    "WebhookIssuesDemilestonedPropIssueType",
    "WebhookIssuesDemilestonedPropIssueAllof0Type",
    "WebhookIssuesDemilestonedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropReactionsType",
    "WebhookIssuesDemilestonedPropIssueAllof0PropUserType",
    "WebhookIssuesDemilestonedPropIssueAllof1Type",
    "WebhookIssuesDemilestonedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropMilestonePropCreatorType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropReactionsType",
    "WebhookIssuesDemilestonedPropIssueAllof1PropUserType",
    "WebhookIssuesDemilestonedPropIssueMergedAssigneeType",
    "WebhookIssuesDemilestonedPropIssueMergedAssigneesType",
    "WebhookIssuesDemilestonedPropIssueMergedLabelsType",
    "WebhookIssuesDemilestonedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssuesDemilestonedPropIssueMergedReactionsType",
    "WebhookIssuesDemilestonedPropIssueMergedUserType",
    "WebhookIssuesDemilestonedPropMilestoneType",
    "WebhookIssuesDemilestonedPropMilestonePropCreatorType",
    "WebhookIssuesEditedType",
    "WebhookIssuesEditedPropChangesType",
    "WebhookIssuesEditedPropChangesPropBodyType",
    "WebhookIssuesEditedPropChangesPropTitleType",
    "WebhookIssuesEditedPropIssueType",
    "WebhookIssuesEditedPropIssuePropAssigneeType",
    "WebhookIssuesEditedPropIssuePropAssigneesItemsType",
    "WebhookIssuesEditedPropIssuePropLabelsItemsType",
    "WebhookIssuesEditedPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesEditedPropIssuePropMilestoneType",
    "WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesEditedPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesEditedPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesEditedPropIssuePropPullRequestType",
    "WebhookIssuesEditedPropIssuePropReactionsType",
    "WebhookIssuesEditedPropIssuePropUserType",
    "WebhookIssuesEditedPropLabelType",
    "WebhookIssuesLabeledType",
    "WebhookIssuesLabeledPropIssueType",
    "WebhookIssuesLabeledPropIssuePropAssigneeType",
    "WebhookIssuesLabeledPropIssuePropAssigneesItemsType",
    "WebhookIssuesLabeledPropIssuePropLabelsItemsType",
    "WebhookIssuesLabeledPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesLabeledPropIssuePropMilestoneType",
    "WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesLabeledPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesLabeledPropIssuePropPullRequestType",
    "WebhookIssuesLabeledPropIssuePropReactionsType",
    "WebhookIssuesLabeledPropIssuePropUserType",
    "WebhookIssuesLabeledPropLabelType",
    "WebhookIssuesLockedType",
    "WebhookIssuesLockedPropIssueType",
    "WebhookIssuesLockedPropIssueAllof0Type",
    "WebhookIssuesLockedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesLockedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesLockedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesLockedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesLockedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesLockedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesLockedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesLockedPropIssueAllof0PropReactionsType",
    "WebhookIssuesLockedPropIssueAllof0PropUserType",
    "WebhookIssuesLockedPropIssueAllof1Type",
    "WebhookIssuesLockedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesLockedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesLockedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesLockedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesLockedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssuesLockedPropIssueAllof1PropReactionsType",
    "WebhookIssuesLockedPropIssueAllof1PropUserType",
    "WebhookIssuesLockedPropIssueMergedAssigneeType",
    "WebhookIssuesLockedPropIssueMergedAssigneesType",
    "WebhookIssuesLockedPropIssueMergedLabelsType",
    "WebhookIssuesLockedPropIssueMergedMilestoneType",
    "WebhookIssuesLockedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssuesLockedPropIssueMergedReactionsType",
    "WebhookIssuesLockedPropIssueMergedUserType",
    "WebhookIssuesMilestonedType",
    "WebhookIssuesMilestonedPropIssueType",
    "WebhookIssuesMilestonedPropIssueAllof0Type",
    "WebhookIssuesMilestonedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesMilestonedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesMilestonedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesMilestonedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesMilestonedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesMilestonedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesMilestonedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesMilestonedPropIssueAllof0PropReactionsType",
    "WebhookIssuesMilestonedPropIssueAllof0PropUserType",
    "WebhookIssuesMilestonedPropIssueAllof1Type",
    "WebhookIssuesMilestonedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesMilestonedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesMilestonedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesMilestonedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesMilestonedPropIssueAllof1PropMilestonePropCreatorType",
    "WebhookIssuesMilestonedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssuesMilestonedPropIssueAllof1PropReactionsType",
    "WebhookIssuesMilestonedPropIssueAllof1PropUserType",
    "WebhookIssuesMilestonedPropIssueMergedAssigneeType",
    "WebhookIssuesMilestonedPropIssueMergedAssigneesType",
    "WebhookIssuesMilestonedPropIssueMergedLabelsType",
    "WebhookIssuesMilestonedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssuesMilestonedPropIssueMergedReactionsType",
    "WebhookIssuesMilestonedPropIssueMergedUserType",
    "WebhookIssuesMilestonedPropMilestoneType",
    "WebhookIssuesMilestonedPropMilestonePropCreatorType",
    "WebhookIssuesOpenedType",
    "WebhookIssuesOpenedPropChangesType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneeType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropAssigneesItemsType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropLabelsItemsType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropMilestonePropCreatorType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropMilestoneType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPerformedViaGithubAppType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropPullRequestType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropReactionsType",
    "WebhookIssuesOpenedPropChangesPropOldIssuePropUserType",
    "WebhookIssuesOpenedPropChangesPropOldIssueType",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryType",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryPropLicenseType",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryPropOwnerType",
    "WebhookIssuesOpenedPropChangesPropOldRepositoryPropPermissionsType",
    "WebhookIssuesOpenedPropIssueType",
    "WebhookIssuesOpenedPropIssueAllof0Type",
    "WebhookIssuesOpenedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesOpenedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesOpenedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesOpenedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesOpenedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesOpenedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesOpenedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesOpenedPropIssueAllof0PropReactionsType",
    "WebhookIssuesOpenedPropIssueAllof0PropUserType",
    "WebhookIssuesOpenedPropIssueAllof1Type",
    "WebhookIssuesOpenedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesOpenedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesOpenedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesOpenedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesOpenedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssuesOpenedPropIssueAllof1PropReactionsType",
    "WebhookIssuesOpenedPropIssueAllof1PropUserType",
    "WebhookIssuesOpenedPropIssueMergedAssigneeType",
    "WebhookIssuesOpenedPropIssueMergedAssigneesType",
    "WebhookIssuesOpenedPropIssueMergedLabelsType",
    "WebhookIssuesOpenedPropIssueMergedMilestoneType",
    "WebhookIssuesOpenedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssuesOpenedPropIssueMergedReactionsType",
    "WebhookIssuesOpenedPropIssueMergedUserType",
    "WebhookIssuesPinnedType",
    "WebhookIssuesPinnedPropIssueType",
    "WebhookIssuesPinnedPropIssuePropAssigneeType",
    "WebhookIssuesPinnedPropIssuePropAssigneesItemsType",
    "WebhookIssuesPinnedPropIssuePropLabelsItemsType",
    "WebhookIssuesPinnedPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesPinnedPropIssuePropMilestoneType",
    "WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesPinnedPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesPinnedPropIssuePropPullRequestType",
    "WebhookIssuesPinnedPropIssuePropReactionsType",
    "WebhookIssuesPinnedPropIssuePropUserType",
    "WebhookIssuesReopenedType",
    "WebhookIssuesReopenedPropIssueType",
    "WebhookIssuesReopenedPropIssueAllof0Type",
    "WebhookIssuesReopenedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesReopenedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesReopenedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesReopenedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesReopenedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesReopenedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesReopenedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesReopenedPropIssueAllof0PropReactionsType",
    "WebhookIssuesReopenedPropIssueAllof0PropUserType",
    "WebhookIssuesReopenedPropIssueAllof1Type",
    "WebhookIssuesReopenedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesReopenedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesReopenedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesReopenedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesReopenedPropIssueAllof1PropPerformedViaGithubAppType",
    "WebhookIssuesReopenedPropIssueAllof1PropReactionsType",
    "WebhookIssuesReopenedPropIssueAllof1PropUserType",
    "WebhookIssuesReopenedPropIssueMergedAssigneeType",
    "WebhookIssuesReopenedPropIssueMergedAssigneesType",
    "WebhookIssuesReopenedPropIssueMergedLabelsType",
    "WebhookIssuesReopenedPropIssueMergedMilestoneType",
    "WebhookIssuesReopenedPropIssueMergedPerformedViaGithubAppType",
    "WebhookIssuesReopenedPropIssueMergedReactionsType",
    "WebhookIssuesReopenedPropIssueMergedUserType",
    "WebhookIssuesTransferredType",
    "WebhookIssuesTransferredPropChangesType",
    "WebhookIssuesTransferredPropChangesPropNewIssueType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneeType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropAssigneesItemsType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropLabelsItemsType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropMilestonePropCreatorType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropMilestoneType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPerformedViaGithubAppType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropPullRequestType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropReactionsType",
    "WebhookIssuesTransferredPropChangesPropNewIssuePropUserType",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryType",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryPropLicenseType",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryPropOwnerType",
    "WebhookIssuesTransferredPropChangesPropNewRepositoryPropPermissionsType",
    "WebhookIssuesTransferredPropIssueType",
    "WebhookIssuesTransferredPropIssuePropAssigneeType",
    "WebhookIssuesTransferredPropIssuePropAssigneesItemsType",
    "WebhookIssuesTransferredPropIssuePropLabelsItemsType",
    "WebhookIssuesTransferredPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesTransferredPropIssuePropMilestoneType",
    "WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesTransferredPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesTransferredPropIssuePropPullRequestType",
    "WebhookIssuesTransferredPropIssuePropReactionsType",
    "WebhookIssuesTransferredPropIssuePropUserType",
    "WebhookIssuesUnassignedType",
    "WebhookIssuesUnassignedPropAssigneeType",
    "WebhookIssuesUnassignedPropIssueType",
    "WebhookIssuesUnassignedPropIssuePropAssigneeType",
    "WebhookIssuesUnassignedPropIssuePropAssigneesItemsType",
    "WebhookIssuesUnassignedPropIssuePropLabelsItemsType",
    "WebhookIssuesUnassignedPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesUnassignedPropIssuePropMilestoneType",
    "WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesUnassignedPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesUnassignedPropIssuePropPullRequestType",
    "WebhookIssuesUnassignedPropIssuePropReactionsType",
    "WebhookIssuesUnassignedPropIssuePropUserType",
    "WebhookIssuesUnlabeledType",
    "WebhookIssuesUnlabeledPropIssueType",
    "WebhookIssuesUnlabeledPropIssuePropAssigneeType",
    "WebhookIssuesUnlabeledPropIssuePropAssigneesItemsType",
    "WebhookIssuesUnlabeledPropIssuePropLabelsItemsType",
    "WebhookIssuesUnlabeledPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesUnlabeledPropIssuePropMilestoneType",
    "WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesUnlabeledPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesUnlabeledPropIssuePropPullRequestType",
    "WebhookIssuesUnlabeledPropIssuePropReactionsType",
    "WebhookIssuesUnlabeledPropIssuePropUserType",
    "WebhookIssuesUnlabeledPropLabelType",
    "WebhookIssuesUnlockedType",
    "WebhookIssuesUnlockedPropIssueType",
    "WebhookIssuesUnlockedPropIssueAllof0Type",
    "WebhookIssuesUnlockedPropIssueAllof0PropAssigneeType",
    "WebhookIssuesUnlockedPropIssueAllof0PropAssigneesItemsType",
    "WebhookIssuesUnlockedPropIssueAllof0PropLabelsItemsType",
    "WebhookIssuesUnlockedPropIssueAllof0PropMilestonePropCreatorType",
    "WebhookIssuesUnlockedPropIssueAllof0PropMilestoneType",
    "WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesUnlockedPropIssueAllof0PropPerformedViaGithubAppType",
    "WebhookIssuesUnlockedPropIssueAllof0PropPullRequestType",
    "WebhookIssuesUnlockedPropIssueAllof0PropReactionsType",
    "WebhookIssuesUnlockedPropIssueAllof0PropUserType",
    "WebhookIssuesUnlockedPropIssueAllof1Type",
    "WebhookIssuesUnlockedPropIssueAllof1PropAssigneeType",
    "WebhookIssuesUnlockedPropIssueAllof1PropAssigneesItemsType",
    "WebhookIssuesUnlockedPropIssueAllof1PropLabelsItemsType",
    "WebhookIssuesUnlockedPropIssueAllof1PropMilestoneType",
    "WebhookIssuesUnlockedPropIssueAllof1PropReactionsType",
    "WebhookIssuesUnlockedPropIssueAllof1PropUserType",
    "WebhookIssuesUnlockedPropIssueMergedAssigneeType",
    "WebhookIssuesUnlockedPropIssueMergedAssigneesType",
    "WebhookIssuesUnlockedPropIssueMergedLabelsType",
    "WebhookIssuesUnlockedPropIssueMergedMilestoneType",
    "WebhookIssuesUnlockedPropIssueMergedReactionsType",
    "WebhookIssuesUnlockedPropIssueMergedUserType",
    "WebhookIssuesUnpinnedType",
    "WebhookIssuesUnpinnedPropIssueType",
    "WebhookIssuesUnpinnedPropIssuePropAssigneeType",
    "WebhookIssuesUnpinnedPropIssuePropAssigneesItemsType",
    "WebhookIssuesUnpinnedPropIssuePropLabelsItemsType",
    "WebhookIssuesUnpinnedPropIssuePropMilestonePropCreatorType",
    "WebhookIssuesUnpinnedPropIssuePropMilestoneType",
    "WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropOwnerType",
    "WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppPropPermissionsType",
    "WebhookIssuesUnpinnedPropIssuePropPerformedViaGithubAppType",
    "WebhookIssuesUnpinnedPropIssuePropPullRequestType",
    "WebhookIssuesUnpinnedPropIssuePropReactionsType",
    "WebhookIssuesUnpinnedPropIssuePropUserType",
    "WebhookLabelCreatedType",
    "WebhookLabelCreatedPropLabelType",
    "WebhookLabelDeletedType",
    "WebhookLabelDeletedPropLabelType",
    "WebhookLabelEditedType",
    "WebhookLabelEditedPropChangesType",
    "WebhookLabelEditedPropChangesPropColorType",
    "WebhookLabelEditedPropChangesPropDescriptionType",
    "WebhookLabelEditedPropChangesPropNameType",
    "WebhookLabelEditedPropLabelType",
    "WebhookMemberAddedType",
    "WebhookMemberAddedPropChangesType",
    "WebhookMemberAddedPropChangesPropPermissionType",
    "WebhookMemberAddedPropMemberType",
    "WebhookMemberEditedType",
    "WebhookMemberEditedPropChangesType",
    "WebhookMemberEditedPropChangesPropOldPermissionType",
    "WebhookMemberEditedPropChangesPropPermissionType",
    "WebhookMemberEditedPropMemberType",
    "WebhookMemberRemovedType",
    "WebhookMemberRemovedPropMemberType",
    "WebhookMembershipAddedType",
    "WebhookMembershipAddedPropMemberType",
    "WebhookMembershipAddedPropSenderType",
    "WebhookMembershipAddedPropTeamType",
    "WebhookMembershipAddedPropTeamPropParentType",
    "WebhookMembershipRemovedType",
    "WebhookMembershipRemovedPropMemberType",
    "WebhookMembershipRemovedPropSenderType",
    "WebhookMembershipRemovedPropTeamType",
    "WebhookMembershipRemovedPropTeamPropParentType",
    "WebhookMergeGroupChecksRequestedType",
    "WebhookMergeGroupChecksRequestedPropMergeGroupType",
    "WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitType",
    "WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropAuthorType",
    "WebhookMergeGroupChecksRequestedPropMergeGroupPropHeadCommitPropCommitterType",
    "WebhookMetaDeletedType",
    "WebhookMetaDeletedPropHookType",
    "WebhookMetaDeletedPropHookPropConfigType",
    "WebhookMilestoneClosedType",
    "WebhookMilestoneClosedPropMilestoneType",
    "WebhookMilestoneClosedPropMilestonePropCreatorType",
    "WebhookMilestoneCreatedType",
    "WebhookMilestoneCreatedPropMilestoneType",
    "WebhookMilestoneCreatedPropMilestonePropCreatorType",
    "WebhookMilestoneDeletedType",
    "WebhookMilestoneDeletedPropMilestoneType",
    "WebhookMilestoneDeletedPropMilestonePropCreatorType",
    "WebhookMilestoneEditedType",
    "WebhookMilestoneEditedPropChangesType",
    "WebhookMilestoneEditedPropChangesPropDescriptionType",
    "WebhookMilestoneEditedPropChangesPropDueOnType",
    "WebhookMilestoneEditedPropChangesPropTitleType",
    "WebhookMilestoneEditedPropMilestoneType",
    "WebhookMilestoneEditedPropMilestonePropCreatorType",
    "WebhookMilestoneOpenedType",
    "WebhookMilestoneOpenedPropMilestoneType",
    "WebhookMilestoneOpenedPropMilestonePropCreatorType",
    "WebhookOrgBlockBlockedType",
    "WebhookOrgBlockBlockedPropBlockedUserType",
    "WebhookOrgBlockUnblockedType",
    "WebhookOrgBlockUnblockedPropBlockedUserType",
    "WebhookOrganizationDeletedType",
    "WebhookOrganizationDeletedPropMembershipType",
    "WebhookOrganizationDeletedPropMembershipPropUserType",
    "WebhookOrganizationMemberAddedType",
    "WebhookOrganizationMemberAddedPropMembershipType",
    "WebhookOrganizationMemberAddedPropMembershipPropUserType",
    "WebhookOrganizationMemberInvitedType",
    "WebhookOrganizationMemberInvitedPropInvitationType",
    "WebhookOrganizationMemberInvitedPropInvitationPropInviterType",
    "WebhookOrganizationMemberInvitedPropUserType",
    "WebhookOrganizationMemberRemovedType",
    "WebhookOrganizationMemberRemovedPropMembershipType",
    "WebhookOrganizationMemberRemovedPropMembershipPropUserType",
    "WebhookOrganizationRenamedType",
    "WebhookOrganizationRenamedPropChangesType",
    "WebhookOrganizationRenamedPropChangesPropLoginType",
    "WebhookOrganizationRenamedPropMembershipType",
    "WebhookOrganizationRenamedPropMembershipPropUserType",
    "WebhookPingType",
    "WebhookPingPropHookType",
    "WebhookPingPropHookPropConfigType",
    "WebhookPingFormEncodedType",
    "WebhookProjectCardConvertedType",
    "WebhookProjectCardConvertedPropChangesType",
    "WebhookProjectCardConvertedPropChangesPropNoteType",
    "WebhookProjectCardConvertedPropProjectCardType",
    "WebhookProjectCardConvertedPropProjectCardPropCreatorType",
    "WebhookProjectCardCreatedType",
    "WebhookProjectCardCreatedPropProjectCardType",
    "WebhookProjectCardCreatedPropProjectCardPropCreatorType",
    "WebhookProjectCardDeletedType",
    "WebhookProjectCardDeletedPropProjectCardType",
    "WebhookProjectCardDeletedPropProjectCardPropCreatorType",
    "WebhookProjectCardEditedType",
    "WebhookProjectCardEditedPropChangesType",
    "WebhookProjectCardEditedPropChangesPropNoteType",
    "WebhookProjectCardEditedPropProjectCardType",
    "WebhookProjectCardEditedPropProjectCardPropCreatorType",
    "WebhookProjectCardMovedType",
    "WebhookProjectCardMovedPropChangesType",
    "WebhookProjectCardMovedPropChangesPropColumnIdType",
    "WebhookProjectCardMovedPropProjectCardType",
    "WebhookProjectCardMovedPropProjectCardAllof0Type",
    "WebhookProjectCardMovedPropProjectCardAllof0PropCreatorType",
    "WebhookProjectCardMovedPropProjectCardAllof1Type",
    "WebhookProjectCardMovedPropProjectCardAllof1PropCreatorType",
    "WebhookProjectCardMovedPropProjectCardMergedCreatorType",
    "WebhookProjectClosedType",
    "WebhookProjectClosedPropProjectType",
    "WebhookProjectClosedPropProjectPropCreatorType",
    "WebhookProjectColumnCreatedType",
    "WebhookProjectColumnCreatedPropProjectColumnType",
    "WebhookProjectColumnDeletedType",
    "WebhookProjectColumnDeletedPropProjectColumnType",
    "WebhookProjectColumnEditedType",
    "WebhookProjectColumnEditedPropChangesType",
    "WebhookProjectColumnEditedPropChangesPropNameType",
    "WebhookProjectColumnEditedPropProjectColumnType",
    "WebhookProjectColumnMovedType",
    "WebhookProjectColumnMovedPropProjectColumnType",
    "WebhookProjectCreatedType",
    "WebhookProjectCreatedPropProjectType",
    "WebhookProjectCreatedPropProjectPropCreatorType",
    "WebhookProjectDeletedType",
    "WebhookProjectDeletedPropProjectType",
    "WebhookProjectDeletedPropProjectPropCreatorType",
    "WebhookProjectEditedType",
    "WebhookProjectEditedPropChangesType",
    "WebhookProjectEditedPropChangesPropBodyType",
    "WebhookProjectEditedPropChangesPropNameType",
    "WebhookProjectEditedPropProjectType",
    "WebhookProjectEditedPropProjectPropCreatorType",
    "WebhookProjectReopenedType",
    "WebhookProjectReopenedPropProjectType",
    "WebhookProjectReopenedPropProjectPropCreatorType",
    "WebhookSecretScanningAlertCreatedType",
    "WebhookSecretScanningAlertLocationCreatedType",
    "WebhookSecretScanningAlertLocationCreatedFormEncodedType",
    "WebhookSecretScanningAlertReopenedType",
    "WebhookSecretScanningAlertResolvedType",
    "WebhookSecretScanningAlertResolvedPropAlertType",
    "WebhookSecretScanningAlertRevokedType",
    "WebhookTeamAddType",
    "WebhookTeamAddPropTeamType",
    "WebhookTeamAddPropTeamPropParentType",
    "WebhookTeamAddedToRepositoryType",
    "WebhookTeamAddedToRepositoryPropRepositoryType",
    "WebhookTeamAddedToRepositoryPropRepositoryPropLicenseType",
    "WebhookTeamAddedToRepositoryPropRepositoryPropOwnerType",
    "WebhookTeamAddedToRepositoryPropRepositoryPropPermissionsType",
    "WebhookTeamAddedToRepositoryPropTeamType",
    "WebhookTeamAddedToRepositoryPropTeamPropParentType",
    "WebhookTeamCreatedType",
    "WebhookTeamCreatedPropRepositoryType",
    "WebhookTeamCreatedPropRepositoryPropLicenseType",
    "WebhookTeamCreatedPropRepositoryPropOwnerType",
    "WebhookTeamCreatedPropRepositoryPropPermissionsType",
    "WebhookTeamCreatedPropTeamType",
    "WebhookTeamCreatedPropTeamPropParentType",
    "WebhookTeamDeletedType",
    "WebhookTeamDeletedPropRepositoryType",
    "WebhookTeamDeletedPropRepositoryPropLicenseType",
    "WebhookTeamDeletedPropRepositoryPropOwnerType",
    "WebhookTeamDeletedPropRepositoryPropPermissionsType",
    "WebhookTeamDeletedPropTeamType",
    "WebhookTeamDeletedPropTeamPropParentType",
    "WebhookTeamEditedType",
    "WebhookTeamEditedPropChangesType",
    "WebhookTeamEditedPropChangesPropDescriptionType",
    "WebhookTeamEditedPropChangesPropNameType",
    "WebhookTeamEditedPropChangesPropPrivacyType",
    "WebhookTeamEditedPropChangesPropRepositoryType",
    "WebhookTeamEditedPropChangesPropRepositoryPropPermissionsType",
    "WebhookTeamEditedPropChangesPropRepositoryPropPermissionsPropFromType",
    "WebhookTeamEditedPropRepositoryType",
    "WebhookTeamEditedPropRepositoryPropLicenseType",
    "WebhookTeamEditedPropRepositoryPropOwnerType",
    "WebhookTeamEditedPropRepositoryPropPermissionsType",
    "WebhookTeamEditedPropTeamType",
    "WebhookTeamEditedPropTeamPropParentType",
    "WebhookTeamRemovedFromRepositoryType",
    "WebhookTeamRemovedFromRepositoryPropRepositoryType",
    "WebhookTeamRemovedFromRepositoryPropRepositoryPropLicenseType",
    "WebhookTeamRemovedFromRepositoryPropRepositoryPropOwnerType",
    "WebhookTeamRemovedFromRepositoryPropRepositoryPropPermissionsType",
    "WebhookTeamRemovedFromRepositoryPropTeamType",
    "WebhookTeamRemovedFromRepositoryPropTeamPropParentType",
    "WebhookUserCreatedType",
    "WebhookUserCreatedPropUserType",
    "AppManifestsCodeConversionsPostResponse201Type",
    "AppManifestsCodeConversionsPostResponse201Allof1Type",
    "AppHookConfigPatchBodyType",
    "AppHookDeliveriesDeliveryIdAttemptsPostResponse202Type",
    "AppInstallationsInstallationIdAccessTokensPostBodyType",
    "ApplicationsClientIdGrantDeleteBodyType",
    "ApplicationsClientIdTokenPostBodyType",
    "ApplicationsClientIdTokenDeleteBodyType",
    "ApplicationsClientIdTokenPatchBodyType",
    "ApplicationsClientIdTokenScopedPostBodyType",
    "EmojisGetResponse200Type",
    "EnterprisesEnterpriseActionsPermissionsPutBodyType",
    "EnterprisesEnterpriseActionsPermissionsOrganizationsGetResponse200Type",
    "EnterprisesEnterpriseActionsPermissionsOrganizationsPutBodyType",
    "EnterprisesEnterpriseActionsRunnerGroupsGetResponse200Type",
    "EnterprisesEnterpriseActionsRunnerGroupsPostBodyType",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdPatchBodyType",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsGetResponse200Type",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdOrganizationsPutBodyType",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200Type",
    "EnterprisesEnterpriseActionsRunnerGroupsRunnerGroupIdRunnersPutBodyType",
    "EnterprisesEnterpriseActionsRunnersGetResponse200Type",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsGetResponse200Type",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPutBodyType",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsPostBodyType",
    "EnterprisesEnterpriseActionsRunnersRunnerIdLabelsDeleteResponse200Type",
    "EnterprisesEnterpriseCodeScanningAlertsGetResponse503Type",
    "GistsPostBodyType",
    "GistsPostBodyPropFilesType",
    "GistsGistIdGetResponse403Type",
    "GistsGistIdGetResponse403PropBlockType",
    "GistsGistIdPatchBodyPropFilesType",
    "GistsGistIdPatchBodyAnyof0Type",
    "GistsGistIdPatchBodyAnyof1Type",
    "GistsGistIdCommentsPostBodyType",
    "GistsGistIdCommentsCommentIdPatchBodyType",
    "GistsGistIdStarGetResponse404Type",
    "InstallationRepositoriesGetResponse200Type",
    "MarkdownPostBodyType",
    "NotificationsPutBodyType",
    "NotificationsPutResponse202Type",
    "NotificationsThreadsThreadIdSubscriptionPutBodyType",
    "OrganizationsOrganizationIdCustomRolesGetResponse200Type",
    "OrgsOrgPatchBodyType",
    "OrgsOrgActionsCacheUsageByRepositoryGetResponse200Type",
    "OrgsOrgActionsPermissionsPutBodyType",
    "OrgsOrgActionsPermissionsRepositoriesGetResponse200Type",
    "OrgsOrgActionsPermissionsRepositoriesPutBodyType",
    "OrgsOrgActionsRunnerGroupsGetResponse200Type",
    "OrgsOrgActionsRunnerGroupsPostBodyType",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdPatchBodyType",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesGetResponse200Type",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRepositoriesPutBodyType",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersGetResponse200Type",
    "OrgsOrgActionsRunnerGroupsRunnerGroupIdRunnersPutBodyType",
    "OrgsOrgActionsRunnersGetResponse200Type",
    "OrgsOrgActionsRunnersRunnerIdLabelsPutBodyType",
    "OrgsOrgActionsRunnersRunnerIdLabelsPostBodyType",
    "OrgsOrgActionsSecretsGetResponse200Type",
    "OrgsOrgActionsSecretsSecretNamePutBodyType",
    "OrgsOrgActionsSecretsSecretNameRepositoriesGetResponse200Type",
    "OrgsOrgActionsSecretsSecretNameRepositoriesPutBodyType",
    "OrgsOrgCodespacesGetResponse200Type",
    "OrgsOrgCodespacesBillingPutBodyType",
    "OrgsOrgCodespacesSecretsGetResponse200Type",
    "OrgsOrgCodespacesSecretsSecretNamePutBodyType",
    "OrgsOrgCodespacesSecretsSecretNameRepositoriesGetResponse200Type",
    "OrgsOrgCodespacesSecretsSecretNameRepositoriesPutBodyType",
    "OrgsOrgCustomRolesPostBodyType",
    "OrgsOrgCustomRolesRoleIdPatchBodyType",
    "OrgsOrgDependabotSecretsGetResponse200Type",
    "OrgsOrgDependabotSecretsSecretNamePutBodyType",
    "OrgsOrgDependabotSecretsSecretNameRepositoriesGetResponse200Type",
    "OrgsOrgDependabotSecretsSecretNameRepositoriesPutBodyType",
    "OrgsOrgHooksPostBodyType",
    "OrgsOrgHooksPostBodyPropConfigType",
    "OrgsOrgHooksHookIdPatchBodyType",
    "OrgsOrgHooksHookIdPatchBodyPropConfigType",
    "OrgsOrgHooksHookIdConfigPatchBodyType",
    "OrgsOrgInstallationsGetResponse200Type",
    "OrgsOrgInteractionLimitsGetResponse200Anyof1Type",
    "OrgsOrgInvitationsPostBodyType",
    "OrgsOrgMembersUsernameCodespacesGetResponse200Type",
    "OrgsOrgMembershipsUsernamePutBodyType",
    "OrgsOrgMigrationsPostBodyType",
    "OrgsOrgOutsideCollaboratorsUsernamePutBodyType",
    "OrgsOrgOutsideCollaboratorsUsernamePutResponse202Type",
    "OrgsOrgOutsideCollaboratorsUsernameDeleteResponse422Type",
    "OrgsOrgProjectsPostBodyType",
    "OrgsOrgReposPostBodyType",
    "OrgsOrgTeamsPostBodyType",
    "OrgsOrgTeamsTeamSlugPatchBodyType",
    "OrgsOrgTeamsTeamSlugDiscussionsPostBodyType",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberPatchBodyType",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsPostBodyType",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberPatchBodyType",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBodyType",
    "OrgsOrgTeamsTeamSlugDiscussionsDiscussionNumberReactionsPostBodyType",
    "OrgsOrgTeamsTeamSlugMembershipsUsernamePutBodyType",
    "OrgsOrgTeamsTeamSlugProjectsProjectIdPutBodyType",
    "OrgsOrgTeamsTeamSlugProjectsProjectIdPutResponse403Type",
    "OrgsOrgTeamsTeamSlugReposOwnerRepoPutBodyType",
    "ProjectsColumnsCardsCardIdDeleteResponse403Type",
    "ProjectsColumnsCardsCardIdPatchBodyType",
    "ProjectsColumnsCardsCardIdMovesPostBodyType",
    "ProjectsColumnsCardsCardIdMovesPostResponse201Type",
    "ProjectsColumnsCardsCardIdMovesPostResponse403Type",
    "ProjectsColumnsCardsCardIdMovesPostResponse403PropErrorsItemsType",
    "ProjectsColumnsCardsCardIdMovesPostResponse503Type",
    "ProjectsColumnsCardsCardIdMovesPostResponse503PropErrorsItemsType",
    "ProjectsColumnsColumnIdPatchBodyType",
    "ProjectsColumnsColumnIdCardsPostBodyOneof0Type",
    "ProjectsColumnsColumnIdCardsPostBodyOneof1Type",
    "ProjectsColumnsColumnIdCardsPostResponse503Type",
    "ProjectsColumnsColumnIdCardsPostResponse503PropErrorsItemsType",
    "ProjectsColumnsColumnIdMovesPostBodyType",
    "ProjectsColumnsColumnIdMovesPostResponse201Type",
    "ProjectsProjectIdDeleteResponse403Type",
    "ProjectsProjectIdPatchBodyType",
    "ProjectsProjectIdPatchResponse403Type",
    "ProjectsProjectIdCollaboratorsUsernamePutBodyType",
    "ProjectsProjectIdColumnsPostBodyType",
    "ReposOwnerRepoDeleteResponse403Type",
    "ReposOwnerRepoPatchBodyType",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropAdvancedSecurityType",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningType",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisPropSecretScanningPushProtectionType",
    "ReposOwnerRepoPatchBodyPropSecurityAndAnalysisType",
    "ReposOwnerRepoActionsArtifactsGetResponse200Type",
    "ReposOwnerRepoActionsJobsJobIdRerunPostBodyType",
    "ReposOwnerRepoActionsPermissionsPutBodyType",
    "ReposOwnerRepoActionsRunnersGetResponse200Type",
    "ReposOwnerRepoActionsRunnersRunnerIdLabelsPutBodyType",
    "ReposOwnerRepoActionsRunnersRunnerIdLabelsPostBodyType",
    "ReposOwnerRepoActionsRunsGetResponse200Type",
    "ReposOwnerRepoActionsRunsRunIdArtifactsGetResponse200Type",
    "ReposOwnerRepoActionsRunsRunIdAttemptsAttemptNumberJobsGetResponse200Type",
    "ReposOwnerRepoActionsRunsRunIdJobsGetResponse200Type",
    "ReposOwnerRepoActionsRunsRunIdPendingDeploymentsPostBodyType",
    "ReposOwnerRepoActionsRunsRunIdRerunPostBodyType",
    "ReposOwnerRepoActionsRunsRunIdRerunFailedJobsPostBodyType",
    "ReposOwnerRepoActionsSecretsGetResponse200Type",
    "ReposOwnerRepoActionsSecretsSecretNamePutBodyType",
    "ReposOwnerRepoActionsWorkflowsGetResponse200Type",
    "ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyType",
    "ReposOwnerRepoActionsWorkflowsWorkflowIdDispatchesPostBodyPropInputsType",
    "ReposOwnerRepoActionsWorkflowsWorkflowIdRunsGetResponse200Type",
    "ReposOwnerRepoAutolinksPostBodyType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksPropChecksItemsType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredStatusChecksType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropDismissalRestrictionsType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsPropBypassPullRequestAllowancesType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRequiredPullRequestReviewsType",
    "ReposOwnerRepoBranchesBranchProtectionPutBodyPropRestrictionsType",
    "ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyType",
    "ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropDismissalRestrictionsType",
    "ReposOwnerRepoBranchesBranchProtectionRequiredPullRequestReviewsPatchBodyPropBypassPullRequestAllowancesType",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyType",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksPatchBodyPropChecksItemsType",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPutBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsPostBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRequiredStatusChecksContextsDeleteBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPutBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsPostBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsAppsDeleteBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPutBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsPostBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsTeamsDeleteBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPutBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersPostBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchProtectionRestrictionsUsersDeleteBodyOneof0Type",
    "ReposOwnerRepoBranchesBranchRenamePostBodyType",
    "ReposOwnerRepoCheckRunsPostBodyPropOutputType",
    "ReposOwnerRepoCheckRunsPostBodyPropOutputPropAnnotationsItemsType",
    "ReposOwnerRepoCheckRunsPostBodyPropOutputPropImagesItemsType",
    "ReposOwnerRepoCheckRunsPostBodyPropActionsItemsType",
    "ReposOwnerRepoCheckRunsPostBodyOneof0Type",
    "ReposOwnerRepoCheckRunsPostBodyOneof1Type",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputType",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropAnnotationsItemsType",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropOutputPropImagesItemsType",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyPropActionsItemsType",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof0Type",
    "ReposOwnerRepoCheckRunsCheckRunIdPatchBodyAnyof1Type",
    "ReposOwnerRepoCheckSuitesPostBodyType",
    "ReposOwnerRepoCheckSuitesPreferencesPatchBodyType",
    "ReposOwnerRepoCheckSuitesPreferencesPatchBodyPropAutoTriggerChecksItemsType",
    "ReposOwnerRepoCheckSuitesCheckSuiteIdCheckRunsGetResponse200Type",
    "ReposOwnerRepoCodeScanningAlertsAlertNumberPatchBodyType",
    "ReposOwnerRepoCodeScanningSarifsPostBodyType",
    "ReposOwnerRepoCodespacesGetResponse200Type",
    "ReposOwnerRepoCodespacesPostBodyType",
    "ReposOwnerRepoCodespacesDevcontainersGetResponse200Type",
    "ReposOwnerRepoCodespacesDevcontainersGetResponse200PropDevcontainersItemsType",
    "ReposOwnerRepoCodespacesMachinesGetResponse200Type",
    "ReposOwnerRepoCodespacesNewGetResponse200Type",
    "ReposOwnerRepoCodespacesNewGetResponse200PropDefaultsType",
    "ReposOwnerRepoCodespacesSecretsGetResponse200Type",
    "ReposOwnerRepoCodespacesSecretsSecretNamePutBodyType",
    "ReposOwnerRepoCollaboratorsUsernamePutBodyType",
    "ReposOwnerRepoCommentsCommentIdPatchBodyType",
    "ReposOwnerRepoCommentsCommentIdReactionsPostBodyType",
    "ReposOwnerRepoCommitsCommitShaCommentsPostBodyType",
    "ReposOwnerRepoCommitsRefCheckRunsGetResponse200Type",
    "ReposOwnerRepoCommitsRefCheckSuitesGetResponse200Type",
    "ReposOwnerRepoContentsPathPutBodyType",
    "ReposOwnerRepoContentsPathPutBodyPropCommitterType",
    "ReposOwnerRepoContentsPathPutBodyPropAuthorType",
    "ReposOwnerRepoContentsPathDeleteBodyType",
    "ReposOwnerRepoContentsPathDeleteBodyPropCommitterType",
    "ReposOwnerRepoContentsPathDeleteBodyPropAuthorType",
    "ReposOwnerRepoDependabotAlertsAlertNumberPatchBodyType",
    "ReposOwnerRepoDependabotSecretsGetResponse200Type",
    "ReposOwnerRepoDependabotSecretsSecretNamePutBodyType",
    "ReposOwnerRepoDependencyGraphSnapshotsPostResponse201Type",
    "ReposOwnerRepoDeploymentsPostBodyType",
    "ReposOwnerRepoDeploymentsPostBodyPropPayloadOneof0Type",
    "ReposOwnerRepoDeploymentsPostResponse202Type",
    "ReposOwnerRepoDeploymentsDeploymentIdStatusesPostBodyType",
    "ReposOwnerRepoDispatchesPostBodyType",
    "ReposOwnerRepoDispatchesPostBodyPropClientPayloadType",
    "ReposOwnerRepoEnvironmentsGetResponse200Type",
    "ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyPropReviewersItemsType",
    "ReposOwnerRepoEnvironmentsEnvironmentNamePutBodyType",
    "ReposOwnerRepoEnvironmentsEnvironmentNameDeploymentBranchPoliciesGetResponse200Type",
    "ReposOwnerRepoForksPostBodyType",
    "ReposOwnerRepoGitBlobsPostBodyType",
    "ReposOwnerRepoGitCommitsPostBodyType",
    "ReposOwnerRepoGitCommitsPostBodyPropAuthorType",
    "ReposOwnerRepoGitCommitsPostBodyPropCommitterType",
    "ReposOwnerRepoGitRefsPostBodyType",
    "ReposOwnerRepoGitRefsRefPatchBodyType",
    "ReposOwnerRepoGitTagsPostBodyType",
    "ReposOwnerRepoGitTagsPostBodyPropTaggerType",
    "ReposOwnerRepoGitTreesPostBodyType",
    "ReposOwnerRepoGitTreesPostBodyPropTreeItemsType",
    "ReposOwnerRepoHooksPostBodyPropConfigType",
    "ReposOwnerRepoHooksPostBodyType",
    "ReposOwnerRepoHooksHookIdPatchBodyType",
    "ReposOwnerRepoHooksHookIdPatchBodyPropConfigType",
    "ReposOwnerRepoHooksHookIdConfigPatchBodyType",
    "ReposOwnerRepoImportPutBodyType",
    "ReposOwnerRepoImportPatchBodyType",
    "ReposOwnerRepoImportAuthorsAuthorIdPatchBodyType",
    "ReposOwnerRepoImportLfsPatchBodyType",
    "ReposOwnerRepoInteractionLimitsGetResponse200Anyof1Type",
    "ReposOwnerRepoInvitationsInvitationIdPatchBodyType",
    "ReposOwnerRepoIssuesPostBodyType",
    "ReposOwnerRepoIssuesPostBodyPropLabelsItemsOneof1Type",
    "ReposOwnerRepoIssuesCommentsCommentIdPatchBodyType",
    "ReposOwnerRepoIssuesCommentsCommentIdReactionsPostBodyType",
    "ReposOwnerRepoIssuesIssueNumberPatchBodyType",
    "ReposOwnerRepoIssuesIssueNumberPatchBodyPropLabelsItemsOneof1Type",
    "ReposOwnerRepoIssuesIssueNumberAssigneesPostBodyType",
    "ReposOwnerRepoIssuesIssueNumberAssigneesDeleteBodyType",
    "ReposOwnerRepoIssuesIssueNumberCommentsPostBodyType",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof0Type",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2Type",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof2PropLabelsItemsType",
    "ReposOwnerRepoIssuesIssueNumberLabelsPutBodyOneof3ItemsType",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof0Type",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2Type",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof2PropLabelsItemsType",
    "ReposOwnerRepoIssuesIssueNumberLabelsPostBodyOneof3ItemsType",
    "ReposOwnerRepoIssuesIssueNumberLockPutBodyType",
    "ReposOwnerRepoIssuesIssueNumberReactionsPostBodyType",
    "ReposOwnerRepoKeysPostBodyType",
    "ReposOwnerRepoLabelsPostBodyType",
    "ReposOwnerRepoLabelsNamePatchBodyType",
    "ReposOwnerRepoMergeUpstreamPostBodyType",
    "ReposOwnerRepoMergesPostBodyType",
    "ReposOwnerRepoMilestonesPostBodyType",
    "ReposOwnerRepoMilestonesMilestoneNumberPatchBodyType",
    "ReposOwnerRepoNotificationsPutBodyType",
    "ReposOwnerRepoNotificationsPutResponse202Type",
    "ReposOwnerRepoPagesPutBodyPropSourceAnyof1Type",
    "ReposOwnerRepoPagesPutBodyAnyof0Type",
    "ReposOwnerRepoPagesPutBodyAnyof1Type",
    "ReposOwnerRepoPagesPutBodyAnyof2Type",
    "ReposOwnerRepoPagesPutBodyAnyof3Type",
    "ReposOwnerRepoPagesPutBodyAnyof4Type",
    "ReposOwnerRepoPagesPostBodyPropSourceType",
    "ReposOwnerRepoPagesPostBodyAnyof0Type",
    "ReposOwnerRepoPagesPostBodyAnyof1Type",
    "ReposOwnerRepoPagesDeploymentPostBodyType",
    "ReposOwnerRepoProjectsPostBodyType",
    "ReposOwnerRepoPullsPostBodyType",
    "ReposOwnerRepoPullsCommentsCommentIdPatchBodyType",
    "ReposOwnerRepoPullsCommentsCommentIdReactionsPostBodyType",
    "ReposOwnerRepoPullsPullNumberPatchBodyType",
    "ReposOwnerRepoPullsPullNumberCodespacesPostBodyType",
    "ReposOwnerRepoPullsPullNumberCommentsPostBodyType",
    "ReposOwnerRepoPullsPullNumberCommentsCommentIdRepliesPostBodyType",
    "ReposOwnerRepoPullsPullNumberMergePutBodyType",
    "ReposOwnerRepoPullsPullNumberMergePutResponse405Type",
    "ReposOwnerRepoPullsPullNumberMergePutResponse409Type",
    "ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof0Type",
    "ReposOwnerRepoPullsPullNumberRequestedReviewersPostBodyAnyof1Type",
    "ReposOwnerRepoPullsPullNumberRequestedReviewersDeleteBodyType",
    "ReposOwnerRepoPullsPullNumberReviewsPostBodyType",
    "ReposOwnerRepoPullsPullNumberReviewsPostBodyPropCommentsItemsType",
    "ReposOwnerRepoPullsPullNumberReviewsReviewIdPutBodyType",
    "ReposOwnerRepoPullsPullNumberReviewsReviewIdDismissalsPutBodyType",
    "ReposOwnerRepoPullsPullNumberReviewsReviewIdEventsPostBodyType",
    "ReposOwnerRepoPullsPullNumberUpdateBranchPutBodyType",
    "ReposOwnerRepoPullsPullNumberUpdateBranchPutResponse202Type",
    "ReposOwnerRepoReleasesPostBodyType",
    "ReposOwnerRepoReleasesAssetsAssetIdPatchBodyType",
    "ReposOwnerRepoReleasesGenerateNotesPostBodyType",
    "ReposOwnerRepoReleasesReleaseIdPatchBodyType",
    "ReposOwnerRepoReleasesReleaseIdReactionsPostBodyType",
    "ReposOwnerRepoSecretScanningAlertsAlertNumberPatchBodyType",
    "ReposOwnerRepoStatusesShaPostBodyType",
    "ReposOwnerRepoSubscriptionPutBodyType",
    "ReposOwnerRepoTagsProtectionPostBodyType",
    "ReposOwnerRepoTopicsPutBodyType",
    "ReposOwnerRepoTransferPostBodyType",
    "ReposTemplateOwnerTemplateRepoGeneratePostBodyType",
    "RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsGetResponse200Type",
    "RepositoriesRepositoryIdEnvironmentsEnvironmentNameSecretsSecretNamePutBodyType",
    "SearchCodeGetResponse200Type",
    "SearchCommitsGetResponse200Type",
    "SearchIssuesGetResponse200Type",
    "SearchLabelsGetResponse200Type",
    "SearchRepositoriesGetResponse200Type",
    "SearchTopicsGetResponse200Type",
    "SearchUsersGetResponse200Type",
    "TeamsTeamIdPatchBodyType",
    "TeamsTeamIdDiscussionsPostBodyType",
    "TeamsTeamIdDiscussionsDiscussionNumberPatchBodyType",
    "TeamsTeamIdDiscussionsDiscussionNumberCommentsPostBodyType",
    "TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberPatchBodyType",
    "TeamsTeamIdDiscussionsDiscussionNumberCommentsCommentNumberReactionsPostBodyType",
    "TeamsTeamIdDiscussionsDiscussionNumberReactionsPostBodyType",
    "TeamsTeamIdMembershipsUsernamePutBodyType",
    "TeamsTeamIdProjectsProjectIdPutBodyType",
    "TeamsTeamIdProjectsProjectIdPutResponse403Type",
    "TeamsTeamIdReposOwnerRepoPutBodyType",
    "UserPatchBodyType",
    "UserCodespacesGetResponse200Type",
    "UserCodespacesPostBodyOneof0Type",
    "UserCodespacesPostBodyOneof1Type",
    "UserCodespacesPostBodyOneof1PropPullRequestType",
    "UserCodespacesSecretsGetResponse200Type",
    "UserCodespacesSecretsSecretNamePutBodyType",
    "UserCodespacesSecretsSecretNameRepositoriesGetResponse200Type",
    "UserCodespacesSecretsSecretNameRepositoriesPutBodyType",
    "UserCodespacesCodespaceNamePatchBodyType",
    "UserCodespacesCodespaceNameMachinesGetResponse200Type",
    "UserEmailVisibilityPatchBodyType",
    "UserEmailsPostBodyOneof0Type",
    "UserEmailsDeleteBodyOneof0Type",
    "UserGpgKeysPostBodyType",
    "UserInstallationsGetResponse200Type",
    "UserInstallationsInstallationIdRepositoriesGetResponse200Type",
    "UserInteractionLimitsGetResponse200Anyof1Type",
    "UserKeysPostBodyType",
    "UserMembershipsOrgsOrgPatchBodyType",
    "UserMigrationsPostBodyType",
    "UserProjectsPostBodyType",
    "UserReposPostBodyType",
    "UserSshSigningKeysPostBodyType",
]
