import type { MergeMethod } from '../../models/config-types.js'; import type { PrCiCheck, PrCiRerun } from './pr-ci.js'; export declare const PR_STATUS_TIMEOUT_MS = 15000; export interface PrStatusFetchOptions { readonly timeoutMs?: number; readonly signal?: AbortSignal; readonly rerun?: PrCiRerun; } export declare class PrStatusTimeoutError extends Error { constructor(); } export declare class PrHeadObservationMismatchError extends Error { readonly firstHeadSha: string; readonly lastHeadSha: string; constructor(prNumber: number, firstHeadSha: string, lastHeadSha: string); } export interface PrExecutionContext { readonly prNumber: number; readonly prUrl?: string; readonly headBranch: string; readonly baseBranch: string; readonly headSha: string; readonly headRepositoryUrl: string; readonly headRepositoryPushUrls: readonly string[]; readonly preserveConflictState?: boolean; readonly mergeConcurrency?: number; readonly threatCheckMaxDiffBytes?: number; } export interface PrStatus { number: number; headSha: string; ci: { finished: boolean; passed: boolean; checks?: PrCiCheck[]; rerunHeadChange?: { reason: string; }; }; mergeable: string; mergeStateStatus: string; reviewDecision: string; merged: boolean; } export interface PrDetails extends Omit { readonly number: number; readonly sameRepository: boolean; } export interface PrMergeOptions { readonly cacciaExecutionSource?: 'merge' | 'from_pr'; readonly cacciaPushedHead?: CacciaPushedHead; readonly prMergePushRecorder?: PrMergePushRecorder; readonly prExecutionContext?: PrExecutionContext; readonly mergeMethod?: MergeMethod; readonly prGitOperations?: PrGitOperations; } export interface PrMergePushRecorder { record(headSha: string, previousRemoteHeadSha: string, context: PrExecutionContext): void; } export interface CacciaPushedHead { readonly headSha: string; readonly baseBranch: string; readonly headRepositoryUrl: string; readonly headRepositoryPushUrls: readonly string[]; } export interface PrGitOperations { fetch(remote: 'origin' | 'base', refspec: string): Promise; push(refspec: string): Promise; } //# sourceMappingURL=pr-execution-context.d.ts.map