/** * GitHub Pull Request utilities * * Creates PRs via `gh` CLI for CI/CD integration. */ import { type GitHubPullRequestTarget } from './pull-request-target.js'; import type { CreatePrOptions, CreatePrResult, ExistingPr, CommentResult, MergeResult, PrListItem, PrSelectionData, ListOpenPrsOptions, PrReviewData } from '../git/types.js'; export { fetchPrStatus } from './pr-status.js'; /** * Find an open PR for the given branch. * Returns undefined if no PR exists. */ export declare function findExistingPr(branch: string, cwd: string): ExistingPr | undefined; export interface CodeRabbitReviewThread { id: string; author: string; body: string; replies: Array<{ author: string; body: string; }>; path: string; line?: number; url: string; isOutdated: boolean; } export interface CodeRabbitReviewStatus { headSha: string; hasCodeRabbitPost: boolean; hasCodeRabbitReviewActivity?: true; hasCodeRabbitThreadReplyActivity?: true; hasUnknownCodeRabbitThreadActivity?: true; hasUnknownCodeRabbitPostActivity?: true; reviewedHeadShas: string[]; reviewRateLimit?: { retryAt?: number; }; reviewSkipped?: true; } export interface CacciaPullRequestDetails { number: number; headBranch: string; headSha: string; headRepositoryUrl: string; headRepositoryPushUrls: string[]; } export declare function listOpenPrNumbers(cwd: string): number[]; export declare function fetchPrListItem(prNumber: number, cwd: string): PrListItem | undefined; export declare function fetchPrSelectionData(prNumber: number, cwd: string): PrSelectionData; export declare function listOpenPrs(cwd: string, options?: { readonly allPages?: false; }): PrListItem[]; export declare function listOpenPrs(cwd: string, options: { readonly allPages: true; }): Iterable; export declare function listOpenPrs(cwd: string, options: ListOpenPrsOptions | undefined): Iterable; export declare function commentOnPr(prNumber: number, body: string, cwd: string, target?: GitHubPullRequestTarget): CommentResult; export declare function requestCodeRabbitReview(prNumber: number, cwd: string, deadlineAt: number, signal?: AbortSignal, target?: GitHubPullRequestTarget): Promise; /** Returns unresolved review threads whose first comment was created by CodeRabbit. */ export declare function fetchCodeRabbitReviewThreads(prNumber: number, cwd: string, expectedHeadSha: string, signal?: AbortSignal, target?: GitHubPullRequestTarget): Promise; /** Returns CodeRabbit review events, commit status and post coverage for wait and re-review checks. */ export declare function fetchCodeRabbitReviewStatus(prNumber: number, cwd: string, deadlineAt?: number, signal?: AbortSignal, target?: GitHubPullRequestTarget): Promise; /** Reads the current PR head and its remote targets without changing the project worktree. */ export declare function fetchCacciaPullRequestDetails(prNumber: number, cwd: string, signal?: AbortSignal, target?: GitHubPullRequestTarget): Promise; export declare function fetchPrDetails(prNumber: number, cwd: string, signal?: AbortSignal, target?: GitHubPullRequestTarget): Promise<{ baseBranch: string; sameRepository: boolean; number: number; headBranch: string; headSha: string; headRepositoryUrl: string; headRepositoryPushUrls: string[]; }>; /** Reads the current PR head SHA without fetching the additional clone metadata. */ export declare function fetchCacciaPullRequestHeadSha(prNumber: number, cwd: string, signal?: AbortSignal, deadlineAt?: number, target?: GitHubPullRequestTarget): Promise; /** Resolves the supplied GitHub review thread through its GraphQL thread ID. */ export declare function resolveReviewThread(threadId: string, cwd: string, signal?: AbortSignal, target?: GitHubPullRequestTarget): Promise; /** * Fetch PR review comments and metadata via `gh pr view`. * Throws on failure (PR not found, network error, etc.). */ export declare function fetchPrReviewComments(prNumber: number, cwd: string, target?: GitHubPullRequestTarget): PrReviewData; export declare function createPullRequest(options: CreatePrOptions, cwd: string): CreatePrResult; export declare function mergePr(prNumber: number, cwd: string, method?: import('../../core/models/config-types.js').MergeMethod, expectedHeadSha?: string, target?: GitHubPullRequestTarget): MergeResult; export declare function closePr(prNumber: number, cwd: string, target?: GitHubPullRequestTarget): MergeResult; //# sourceMappingURL=pr.d.ts.map