import type { ClassicState } from './classic-state.js'; declare const STAGES: readonly ["implementing", "task-review", "checkoff", "done", "blocked"]; export interface ClassicCheckpoint { schemaVersion: 1; taskIds: string[]; revision: string; stage: (typeof STAGES)[number]; sessionId: string; evidence: string[]; unresolved: string[]; reviewRounds: number; } export interface ClassicDeliveryInput { action: 'local' | 'push' | 'pr' | 'archive-only'; targetBranch?: string; remote?: string; commit?: string; prUrl?: string; } export interface ClassicDelivery extends ClassicDeliveryInput { schemaVersion: 1; changeIdentity: string; authorizedRemoteUrl?: string; authorizationId: string; } export declare function readClassicCheckpoint(root: string, changeDir: string, tasksSource: string): Promise<{ checkpoint: null; stale: boolean; } | { checkpoint: ClassicCheckpoint; stale: boolean; }>; /** Caller holds the Classic state lock. JSON is authoritative; Markdown is a projection. */ export declare function writeClassicCheckpoint(root: string, changeDir: string, input: unknown, tasksSource: string): Promise<{ checkpoint: ClassicCheckpoint; stale: boolean; }>; export declare function recordClassicDocumentArchive(root: string, changeDir: string): Promise; /** Caller holds the state lock; invalidate before transitioning archive-reopen. */ export declare function invalidateClassicDelivery(root: string, changeDir: string): Promise; export declare function readClassicDelivery(root: string, changeDir: string, options?: { verifyRemote?: boolean; }): Promise<{ delivery: null; verification: { status: "needsAuthorization"; invalidated?: undefined; archiveVerified?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: null; verification: { status: "needsAuthorization"; invalidated: boolean; archiveVerified?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: ClassicDelivery; verification: { status: "complete" | "needsVerification"; archiveVerified: boolean; invalidated?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: ClassicDelivery; verification: { status: "complete" | "needsVerification"; currentBranch: string | null; commitExists: boolean; archiveCommitted: boolean; observedCommit: string | null; observedPrUrl: string | null; remoteVerified: boolean; prVerified: boolean; remoteStatus: "missing" | "unavailable" | "verified" | "notChecked"; prStatus: "missing" | "unavailable" | "verified" | "notChecked"; invalidated?: undefined; archiveVerified?: undefined; }; }>; /** Caller holds the state lock. This records authorization, never performs delivery. */ export declare function writeClassicDelivery(root: string, changeDir: string, input: unknown, state: Pick): Promise<{ delivery: null; verification: { status: "needsAuthorization"; invalidated?: undefined; archiveVerified?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: null; verification: { status: "needsAuthorization"; invalidated: boolean; archiveVerified?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: ClassicDelivery; verification: { status: "complete" | "needsVerification"; archiveVerified: boolean; invalidated?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: ClassicDelivery; verification: { status: "complete" | "needsVerification"; currentBranch: string | null; commitExists: boolean; archiveCommitted: boolean; observedCommit: string | null; observedPrUrl: string | null; remoteVerified: boolean; prVerified: boolean; remoteStatus: "missing" | "unavailable" | "verified" | "notChecked"; prStatus: "missing" | "unavailable" | "verified" | "notChecked"; invalidated?: undefined; archiveVerified?: undefined; }; }>; /** * Reauthorize delivery after Archive without mutating the sealed change * directory. The override is bound to the previous authorization id and the * current change identity, so stale or copied records fail closed. */ export declare function reauthorizeClassicDelivery(root: string, changeDir: string, input: unknown, state: Pick): Promise<{ delivery: null; verification: { status: "needsAuthorization"; invalidated?: undefined; archiveVerified?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: null; verification: { status: "needsAuthorization"; invalidated: boolean; archiveVerified?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: ClassicDelivery; verification: { status: "complete" | "needsVerification"; archiveVerified: boolean; invalidated?: undefined; currentBranch?: undefined; commitExists?: undefined; archiveCommitted?: undefined; observedCommit?: undefined; observedPrUrl?: undefined; remoteVerified?: undefined; prVerified?: undefined; remoteStatus?: undefined; prStatus?: undefined; }; } | { delivery: ClassicDelivery; verification: { status: "complete" | "needsVerification"; currentBranch: string | null; commitExists: boolean; archiveCommitted: boolean; observedCommit: string | null; observedPrUrl: string | null; remoteVerified: boolean; prVerified: boolean; remoteStatus: "missing" | "unavailable" | "verified" | "notChecked"; prStatus: "missing" | "unavailable" | "verified" | "notChecked"; invalidated?: undefined; archiveVerified?: undefined; }; }>; export {}; //# sourceMappingURL=classic-progress.d.ts.map