import { type QualificationRemoteEvidence } from "./qualification_remote.js"; export type QualificationCleanup = Readonly<{ kind: "native-qualification-cleanup"; }>; /** A finite intention, not a new approval. Serialized hashes cannot be turned back into this native handle. */ export declare function planQualificationCleanup(remote: QualificationRemoteEvidence, ref: string): QualificationCleanup; /** One exact-ref dispatch, using the original cleanup ticket and ledger. Unknown attempts are never replayed here. */ export declare function applyQualificationCleanup(handle: QualificationCleanup): Promise<{ status: "observed-absent"; ref: string; attemptId: null; } | { status: "deleted"; ref: string; attemptId: string; }>; /** Read-only remote recovery may append a proven result, but never reconstructs a deletion handle or dispatches again. */ export declare function recoverQualificationCleanup(projectRoot: string, approvalRef: string, attemptId: string): Promise<{ status: "state-observed"; ref: string; observed: string | null; attemptId: string; } | { status: "applied"; ref: string; observed: null; attemptId: string; }>; //# sourceMappingURL=qualification_cleanup.d.ts.map