export declare function isGhInstalled(): boolean;
export declare function isGhAuthenticated(): boolean;
export declare function getRemoteUrl(remote: string): string;
export declare function isGitHubRemote(remote: string): boolean;
export interface PullRequestResult {
    success: boolean;
    url: string;
    error: string;
}
export declare function createPullRequest(baseBranch: string, headBranch: string, title: string, body: string): PullRequestResult;
export interface ReviewThread {
    id: string;
    path: string;
    line: number | null;
    comments: Array<{
        body: string;
        author: string;
    }>;
}
export declare function getPrNumberForBranch(branch: string): number | null;
export declare function fetchUnresolvedReviewThreads(owner: string, repo: string, prNumber: number): ReviewThread[];
export interface MergeResult {
    success: boolean;
    error: string;
}
export type PrMergeability = 'MERGEABLE' | 'CONFLICTING' | 'UNKNOWN';
/**
 * Returns the GitHub-reported mergeability of the PR for the given branch.
 * `UNKNOWN` covers both transient unknown states (GitHub still computing) and
 * the case where no PR is found / gh fails — callers must treat UNKNOWN as
 * "do not assume it can merge".
 */
export declare function getPullRequestMergeability(branch: string): PrMergeability;
export declare function mergePullRequest(branch: string): MergeResult;
export declare function replyToReviewThread(threadId: string, body: string): boolean;
export declare function filterUnresolvedByNonAidev(threads: ReviewThread[], commentPrefix: string): ReviewThread[];
export declare function resolveReviewThread(threadId: string): boolean;
//# sourceMappingURL=github.d.ts.map