/** Internal type. DO NOT USE DIRECTLY. */
type Exact<T extends {
    [key: string]: unknown;
}> = {
    [K in keyof T]: T[K];
};
/** Internal type. DO NOT USE DIRECTLY. */
export type Incremental<T> = T | {
    [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
};
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
/** Represents available types of methods to use when merging a pull request. */
export type PullRequestMergeMethod = 
/** Add all commits from the head branch to the base branch with a merge commit. */
'MERGE'
/** Add all commits from the head branch onto the base branch individually. */
 | 'REBASE'
/** Combine all commits from the head branch into a single commit in the base branch. */
 | 'SQUASH';
/** The possible states of a pull request. */
export type PullRequestState = 
/** A pull request that has been closed without being merged. */
'CLOSED'
/** A pull request that has been closed by being merged. */
 | 'MERGED'
/** A pull request that is still open. */
 | 'OPEN';
export type GetViewerQueryVariables = Exact<{
    [key: string]: never;
}>;
export type GetViewerQuery = {
    viewer: {
        login: string;
    };
};
export type GetRepoQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
}>;
export type GetRepoQuery = {
    repository: {
        name: string;
    } | null;
};
export type DisablePullRequestAutoMergeMutationVariables = Exact<{
    pullRequestId: string | number;
}>;
export type DisablePullRequestAutoMergeMutation = {
    disablePullRequestAutoMerge: {
        pullRequest: {
            number: number;
        } | null;
    } | null;
};
export type EnablePullRequestAutoMergeMutationVariables = Exact<{
    pullRequestId: string | number;
    mergeMethod: PullRequestMergeMethod;
}>;
export type EnablePullRequestAutoMergeMutation = {
    enablePullRequestAutoMerge: {
        pullRequest: {
            number: number;
        } | null;
    } | null;
};
export type AuthorIdQueryVariables = Exact<{
    author: string;
}>;
export type AuthorIdQuery = {
    user: {
        id: string;
    } | null;
};
export type ExistingPullRequestQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    base: string;
    head: string;
}>;
export type ExistingPullRequestQuery = {
    repository: {
        name: string;
        ref: {
            name: string;
            associatedPullRequests: {
                edges: Array<{
                    node: {
                        number: number;
                        url: unknown;
                    } | null;
                } | null> | null;
            };
        } | null;
    } | null;
};
export type PullRequestAutoMergeMethodQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    pr: number;
}>;
export type PullRequestAutoMergeMethodQuery = {
    repository: {
        pullRequest: {
            autoMergeRequest: {
                enabledAt: unknown;
                mergeMethod: PullRequestMergeMethod;
            } | null;
        } | null;
    } | null;
};
export type PullRequestIdQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    pr: number;
}>;
export type PullRequestIdQuery = {
    repository: {
        pullRequest: {
            id: string;
        } | null;
    } | null;
};
export type CommitByPullNumberQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    pr: number;
}>;
export type CommitByPullNumberQuery = {
    repository: {
        pullRequest: {
            commits: {
                totalCount: number;
                edges: Array<{
                    node: {
                        commit: {
                            message: string;
                        };
                    } | null;
                } | null> | null;
            };
            mergeCommit: {
                oid: unknown;
                committedDate: unknown;
                history: {
                    edges: Array<{
                        node: {
                            message: string;
                            committedDate: unknown;
                        } | null;
                    } | null> | null;
                };
            } | null;
        } | null;
    } | null;
};
export type CommitsByShaQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    sha: string;
}>;
export type CommitsByShaQuery = {
    repository: {
        object: {
            __typename: 'Blob';
        } | {
            __typename: 'Commit';
            message: string;
            committedDate: unknown;
            sha: unknown;
            repository: {
                name: string;
                owner: {
                    login: string;
                } | {
                    login: string;
                };
            };
            author: {
                name: string | null;
                email: string | null;
            } | null;
            associatedPullRequests: {
                edges: Array<{
                    node: {
                        title: string;
                        url: unknown;
                        number: number;
                        baseRefName: string;
                        labels: {
                            nodes: Array<{
                                name: string;
                            } | null> | null;
                        } | null;
                        mergeCommit: {
                            __typename: 'Commit';
                            message: string;
                            sha: unknown;
                            remoteConfigHistory: {
                                edges: Array<{
                                    remoteConfig: {
                                        committedDate: unknown;
                                        file: {
                                            __typename: 'TreeEntry';
                                            object: {
                                                __typename: 'Blob';
                                                text: string | null;
                                            } | Record<PropertyKey, never> | null;
                                        } | null;
                                    } | null;
                                } | null> | null;
                            };
                        } | null;
                        timelineItems: {
                            edges: Array<{
                                node: {
                                    __typename: 'CrossReferencedEvent';
                                    targetPullRequest: {
                                        __typename: 'Issue';
                                    } | {
                                        __typename: 'PullRequest';
                                        url: unknown;
                                        title: string;
                                        state: PullRequestState;
                                        baseRefName: string;
                                        number: number;
                                        targetMergeCommit: {
                                            message: string;
                                            sha: unknown;
                                        } | null;
                                        repository: {
                                            name: string;
                                            owner: {
                                                login: string;
                                            } | {
                                                login: string;
                                            };
                                        };
                                        commits: {
                                            edges: Array<{
                                                node: {
                                                    targetCommit: {
                                                        message: string;
                                                        sha: unknown;
                                                    };
                                                } | null;
                                            } | null> | null;
                                        };
                                    };
                                } | Record<PropertyKey, never> | null;
                            } | null> | null;
                        };
                    } | null;
                } | null> | null;
            } | null;
        } | {
            __typename: 'Tag';
        } | {
            __typename: 'Tree';
        } | null;
    } | null;
};
export type CommitsByAuthorQueryVariables = Exact<{
    authorId?: string | number | null | undefined;
    commitPath?: string | null | undefined;
    since?: unknown;
    until?: unknown;
    maxCount: number;
    repoName: string;
    repoOwner: string;
    sourceBranch: string;
}>;
export type CommitsByAuthorQuery = {
    repository: {
        ref: {
            target: {
                __typename: 'Commit';
                history: {
                    edges: Array<{
                        node: {
                            __typename: 'Commit';
                            message: string;
                            committedDate: unknown;
                            sha: unknown;
                            repository: {
                                name: string;
                                owner: {
                                    login: string;
                                } | {
                                    login: string;
                                };
                            };
                            author: {
                                name: string | null;
                                email: string | null;
                            } | null;
                            associatedPullRequests: {
                                edges: Array<{
                                    node: {
                                        title: string;
                                        url: unknown;
                                        number: number;
                                        baseRefName: string;
                                        labels: {
                                            nodes: Array<{
                                                name: string;
                                            } | null> | null;
                                        } | null;
                                        mergeCommit: {
                                            __typename: 'Commit';
                                            message: string;
                                            sha: unknown;
                                            remoteConfigHistory: {
                                                edges: Array<{
                                                    remoteConfig: {
                                                        committedDate: unknown;
                                                        file: {
                                                            __typename: 'TreeEntry';
                                                            object: {
                                                                __typename: 'Blob';
                                                                text: string | null;
                                                            } | Record<PropertyKey, never> | null;
                                                        } | null;
                                                    } | null;
                                                } | null> | null;
                                            };
                                        } | null;
                                        timelineItems: {
                                            edges: Array<{
                                                node: {
                                                    __typename: 'CrossReferencedEvent';
                                                    targetPullRequest: {
                                                        __typename: 'Issue';
                                                    } | {
                                                        __typename: 'PullRequest';
                                                        url: unknown;
                                                        title: string;
                                                        state: PullRequestState;
                                                        baseRefName: string;
                                                        number: number;
                                                        targetMergeCommit: {
                                                            message: string;
                                                            sha: unknown;
                                                        } | null;
                                                        repository: {
                                                            name: string;
                                                            owner: {
                                                                login: string;
                                                            } | {
                                                                login: string;
                                                            };
                                                        };
                                                        commits: {
                                                            edges: Array<{
                                                                node: {
                                                                    targetCommit: {
                                                                        message: string;
                                                                        sha: unknown;
                                                                    };
                                                                } | null;
                                                            } | null> | null;
                                                        };
                                                    };
                                                } | Record<PropertyKey, never> | null;
                                            } | null> | null;
                                        };
                                    } | null;
                                } | null> | null;
                            } | null;
                        } | null;
                    } | null> | null;
                };
            } | Record<PropertyKey, never> | null;
        } | null;
    } | null;
};
export type CommitsForRebaseAndMergeStrategyQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    pr: number;
    commitsTotalCount: number;
}>;
export type CommitsForRebaseAndMergeStrategyQuery = {
    repository: {
        pullRequest: {
            number: number;
            commits: {
                totalCount: number;
                edges: Array<{
                    node: {
                        commit: {
                            message: string;
                        };
                    } | null;
                } | null> | null;
            };
            mergeCommit: {
                committedDate: unknown;
                history: {
                    edges: Array<{
                        node: {
                            oid: unknown;
                            message: string;
                            committedDate: unknown;
                            associatedPullRequests: {
                                edges: Array<{
                                    node: {
                                        number: number;
                                    } | null;
                                } | null> | null;
                            } | null;
                        } | null;
                    } | null> | null;
                };
            } | null;
        } | null;
    } | null;
};
export type PullRequestBySearchQueryQueryVariables = Exact<{
    query: string;
    maxCount: number;
}>;
export type PullRequestBySearchQueryQuery = {
    search: {
        nodes: Array<{
            __typename: 'PullRequest';
            mergeCommit: {
                __typename: 'Commit';
                message: string;
                committedDate: unknown;
                sha: unknown;
                repository: {
                    name: string;
                    owner: {
                        login: string;
                    } | {
                        login: string;
                    };
                };
                author: {
                    name: string | null;
                    email: string | null;
                } | null;
                associatedPullRequests: {
                    edges: Array<{
                        node: {
                            title: string;
                            url: unknown;
                            number: number;
                            baseRefName: string;
                            labels: {
                                nodes: Array<{
                                    name: string;
                                } | null> | null;
                            } | null;
                            mergeCommit: {
                                __typename: 'Commit';
                                message: string;
                                sha: unknown;
                                remoteConfigHistory: {
                                    edges: Array<{
                                        remoteConfig: {
                                            committedDate: unknown;
                                            file: {
                                                __typename: 'TreeEntry';
                                                object: {
                                                    __typename: 'Blob';
                                                    text: string | null;
                                                } | Record<PropertyKey, never> | null;
                                            } | null;
                                        } | null;
                                    } | null> | null;
                                };
                            } | null;
                            timelineItems: {
                                edges: Array<{
                                    node: {
                                        __typename: 'CrossReferencedEvent';
                                        targetPullRequest: {
                                            __typename: 'Issue';
                                        } | {
                                            __typename: 'PullRequest';
                                            url: unknown;
                                            title: string;
                                            state: PullRequestState;
                                            baseRefName: string;
                                            number: number;
                                            targetMergeCommit: {
                                                message: string;
                                                sha: unknown;
                                            } | null;
                                            repository: {
                                                name: string;
                                                owner: {
                                                    login: string;
                                                } | {
                                                    login: string;
                                                };
                                            };
                                            commits: {
                                                edges: Array<{
                                                    node: {
                                                        targetCommit: {
                                                            message: string;
                                                            sha: unknown;
                                                        };
                                                    } | null;
                                                } | null> | null;
                                            };
                                        };
                                    } | Record<PropertyKey, never> | null;
                                } | null> | null;
                            };
                        } | null;
                    } | null> | null;
                } | null;
            } | null;
        } | Record<PropertyKey, never> | null> | null;
    };
};
export type RepoOwnerAndNameQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
}>;
export type RepoOwnerAndNameQuery = {
    repository: {
        isFork: boolean;
        name: string;
        owner: {
            login: string;
        } | {
            login: string;
        };
        parent: {
            owner: {
                login: string;
            } | {
                login: string;
            };
        } | null;
    } | null;
};
export type GithubConfigOptionsQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
}>;
export type GithubConfigOptionsQuery = {
    viewer: {
        login: string;
    };
    repository: {
        isPrivate: boolean;
        illegalBackportBranch: {
            id: string;
        } | null;
        defaultBranchRef: {
            name: string;
            target: {
                __typename: 'Blob';
            } | {
                __typename: 'Commit';
                remoteConfigHistory: {
                    edges: Array<{
                        remoteConfig: {
                            committedDate: unknown;
                            file: {
                                __typename: 'TreeEntry';
                                object: {
                                    __typename: 'Blob';
                                    text: string | null;
                                } | Record<PropertyKey, never> | null;
                            } | null;
                        } | null;
                    } | null> | null;
                };
            } | {
                __typename: 'Tag';
            } | {
                __typename: 'Tree';
            } | null;
        } | null;
    } | null;
};
export type GetBranchIdQueryVariables = Exact<{
    repoOwner: string;
    repoName: string;
    branchName: string;
}>;
export type GetBranchIdQuery = {
    repository: {
        ref: {
            id: string;
        } | null;
    } | null;
};
export type RemoteConfigHistoryFragmentFragment = {
    remoteConfigHistory: {
        edges: Array<{
            remoteConfig: {
                committedDate: unknown;
                file: {
                    __typename: 'TreeEntry';
                    object: {
                        __typename: 'Blob';
                        text: string | null;
                    } | Record<PropertyKey, never> | null;
                } | null;
            } | null;
        } | null> | null;
    };
};
export type SourceCommitWithTargetPullRequestFragmentFragment = {
    __typename: 'Commit';
    message: string;
    committedDate: unknown;
    sha: unknown;
    repository: {
        name: string;
        owner: {
            login: string;
        } | {
            login: string;
        };
    };
    author: {
        name: string | null;
        email: string | null;
    } | null;
    associatedPullRequests: {
        edges: Array<{
            node: {
                title: string;
                url: unknown;
                number: number;
                baseRefName: string;
                labels: {
                    nodes: Array<{
                        name: string;
                    } | null> | null;
                } | null;
                mergeCommit: {
                    __typename: 'Commit';
                    message: string;
                    sha: unknown;
                    remoteConfigHistory: {
                        edges: Array<{
                            remoteConfig: {
                                committedDate: unknown;
                                file: {
                                    __typename: 'TreeEntry';
                                    object: {
                                        __typename: 'Blob';
                                        text: string | null;
                                    } | Record<PropertyKey, never> | null;
                                } | null;
                            } | null;
                        } | null> | null;
                    };
                } | null;
                timelineItems: {
                    edges: Array<{
                        node: {
                            __typename: 'CrossReferencedEvent';
                            targetPullRequest: {
                                __typename: 'Issue';
                            } | {
                                __typename: 'PullRequest';
                                url: unknown;
                                title: string;
                                state: PullRequestState;
                                baseRefName: string;
                                number: number;
                                targetMergeCommit: {
                                    message: string;
                                    sha: unknown;
                                } | null;
                                repository: {
                                    name: string;
                                    owner: {
                                        login: string;
                                    } | {
                                        login: string;
                                    };
                                };
                                commits: {
                                    edges: Array<{
                                        node: {
                                            targetCommit: {
                                                message: string;
                                                sha: unknown;
                                            };
                                        } | null;
                                    } | null> | null;
                                };
                            };
                        } | Record<PropertyKey, never> | null;
                    } | null> | null;
                };
            } | null;
        } | null> | null;
    } | null;
};
export declare const RemoteConfigHistoryFragmentFragmentDoc: DocumentNode<RemoteConfigHistoryFragmentFragment, unknown>;
export declare const SourceCommitWithTargetPullRequestFragmentFragmentDoc: DocumentNode<SourceCommitWithTargetPullRequestFragmentFragment, unknown>;
export declare const GetViewerDocument: DocumentNode<GetViewerQuery, GetViewerQueryVariables>;
export declare const GetRepoDocument: DocumentNode<GetRepoQuery, GetRepoQueryVariables>;
export declare const DisablePullRequestAutoMergeDocument: DocumentNode<DisablePullRequestAutoMergeMutation, DisablePullRequestAutoMergeMutationVariables>;
export declare const EnablePullRequestAutoMergeDocument: DocumentNode<EnablePullRequestAutoMergeMutation, EnablePullRequestAutoMergeMutationVariables>;
export declare const AuthorIdDocument: DocumentNode<AuthorIdQuery, AuthorIdQueryVariables>;
export declare const ExistingPullRequestDocument: DocumentNode<ExistingPullRequestQuery, ExistingPullRequestQueryVariables>;
export declare const PullRequestAutoMergeMethodDocument: DocumentNode<PullRequestAutoMergeMethodQuery, PullRequestAutoMergeMethodQueryVariables>;
export declare const PullRequestIdDocument: DocumentNode<PullRequestIdQuery, PullRequestIdQueryVariables>;
export declare const CommitByPullNumberDocument: DocumentNode<CommitByPullNumberQuery, CommitByPullNumberQueryVariables>;
export declare const CommitsByShaDocument: DocumentNode<CommitsByShaQuery, CommitsByShaQueryVariables>;
export declare const CommitsByAuthorDocument: DocumentNode<CommitsByAuthorQuery, CommitsByAuthorQueryVariables>;
export declare const CommitsForRebaseAndMergeStrategyDocument: DocumentNode<CommitsForRebaseAndMergeStrategyQuery, CommitsForRebaseAndMergeStrategyQueryVariables>;
export declare const PullRequestBySearchQueryDocument: DocumentNode<PullRequestBySearchQueryQuery, PullRequestBySearchQueryQueryVariables>;
export declare const RepoOwnerAndNameDocument: DocumentNode<RepoOwnerAndNameQuery, RepoOwnerAndNameQueryVariables>;
export declare const GithubConfigOptionsDocument: DocumentNode<GithubConfigOptionsQuery, GithubConfigOptionsQueryVariables>;
export declare const GetBranchIdDocument: DocumentNode<GetBranchIdQuery, GetBranchIdQueryVariables>;
export {};
