import type { ForgeProvider } from '../environment'; export interface PrRef { number: number; title: string; url: string; isDraft: boolean; baseRef: string; headRef: string; headSha?: string; } export type HostedCiStatus = 'passed' | 'failed' | 'pending' | 'skipped'; export interface HostedCiResult { status: HostedCiStatus; detail: string; } export interface OpenPrOptions { title: string; body: string; base: string; head: string; draft?: boolean; } /** Hosted VCS lifecycle operations. CLI execution is isolated in extensions/*x. */ export interface VcsBackend { readonly provider: Exclude; createDraftPr(options: OpenPrOptions): Promise; viewPr(idOrBranch: string): Promise; defaultBranch(): Promise; prDiff(id: number): Promise; prChecks(id: number): Promise; watchCommitCi(sha: string, options: { intervalSeconds: number; signal?: AbortSignal; }): Promise; markReady(id: number): Promise; closePr(id: number, comment?: string): Promise; mergePr(id: number, subject: string): Promise; } /** Compatibility name retained for consumers of the former forge API. */ export type Forge = VcsBackend; //# sourceMappingURL=types.d.ts.map