/**
 * Nexus Prime -- Proof Store
 *
 * JSON-file-backed persistence for proof envelopes.
 * Each run gets its own file under `<stateRoot>/proofs/<runId>.json`.
 */
import type { ProofEnvelope } from './types.js';
/**
 * Append a proof envelope to the per-run JSON file.
 * Creates the file (and directory) if it does not exist yet.
 */
export declare function storeProof(stateRoot: string, envelope: ProofEnvelope): Promise<void>;
/**
 * Load all proof envelopes for a given run.
 * Returns an empty array when no proofs have been recorded.
 */
export declare function loadProofs(stateRoot: string, runId: string): Promise<ProofEnvelope[]>;
/**
 * List all run IDs that have recorded proofs.
 */
export declare function listRunIds(stateRoot: string): Promise<string[]>;
/**
 * Remove proof files older than `maxAgeDays` or trim runs that exceed
 * `maxPerRun` envelopes (keeping the most recent).
 */
export declare function pruneStaleProofs(stateRoot: string, maxAgeDays?: number, maxPerRun?: number): Promise<void>;
