export interface PrCloseoutPolicy { commitWarnAt: number; fileWarnAt: number; } export interface BranchSize { base?: string; commits?: number; files?: number; } export interface PrMetadata { number: number; url?: string; state?: string; baseRefName?: string; headRefName?: string; headRefOid?: string; mergeStateStatus?: string; mergeable?: string; reviewDecision?: string; statusCheckRollup?: unknown[]; } export type PrCheckStatus = 'unknown' | 'pending' | 'failing' | 'passing'; export type PrReviewThreadStatus = 'unknown' | 'pending' | 'settled'; export type PrReviewerBotStatus = 'unknown' | 'pending' | 'settled'; export type PrCloseoutSettlementStatus = 'missing' | 'pending' | 'settled'; export interface PrCloseoutStatus { sprint?: number; branch?: string; scorecardPath?: string; scorecardExists: boolean; sprintReviewPath?: string; sprintReviewExists: boolean; unpushedCommits?: number; pr: PrMetadata | null; prReview: 'missing' | 'pending' | 'reviewed'; prChecks: PrCheckStatus; reviewerBot: PrReviewerBotStatus; reviewerBotReason?: string; prReviewThreads: PrReviewThreadStatus; unresolvedReviewThreads?: number; closeoutSettlement: PrCloseoutSettlementStatus; branchSize: BranchSize; branchSizeWarnings: string[]; blockers: string[]; warnings: string[]; } export declare function closeoutPolicy(cwd: string): PrCloseoutPolicy; export declare function branchSizeWarnings(size: BranchSize, policy: PrCloseoutPolicy): string[]; export declare function buildPrCloseoutStatus(cwd: string, opts?: { sprint?: number; pr?: number; }): PrCloseoutStatus; export declare function canSettlePrCloseout(status: PrCloseoutStatus): boolean; export declare function formatPrCloseoutStatus(status: PrCloseoutStatus): string; interface GitHubComment { body?: string; created_at?: string; updated_at?: string; user?: { login?: string; }; } export declare function hasSuccessfulCodeRabbitStatus(pr: Pick): boolean; export declare function isBlockedCodeRabbitComment(comment: GitHubComment): boolean; export {}; //# sourceMappingURL=pr-closeout.d.ts.map