import { type StandardsProof } from "./contract.js";
export declare const MAX_STANDARDS_PROOF_BYTES: number;
/** Closed result of reading a standards proof artifact. */
export type StandardsProofReadResult = {
    readonly status: "available";
    readonly proof: StandardsProof;
} | {
    readonly status: "missing";
} | {
    readonly status: "unreadable";
    readonly reason: string;
};
/** Test-only timing boundary used to exercise post-open file growth. */
export interface StandardsProofReadDependencies {
    readonly afterOpen?: (target: string) => Promise<void>;
}
/**
 * Read strict proof state without throwing for runtime-state faults.
 * @param projectRoot - Project directory containing the proof
 * @param now - Observation time for future-timestamp rejection
 * @param dependencies - Test-only timing dependencies
 * @returns Closed proof read result
 */
export declare function readStandardsProof(projectRoot: string, now?: Date, dependencies?: StandardsProofReadDependencies): Promise<StandardsProofReadResult>;
/**
 * Validate and atomically replace the proof only after capture succeeds.
 * @param projectRoot - Project directory that owns the proof
 * @param candidate - Untrusted proof candidate
 * @param now - Validation time for future-timestamp rejection
 * @returns Stored path and immutable proof
 */
export declare function writeStandardsProof(projectRoot: string, candidate: unknown, now?: Date): Promise<{
    readonly path: string;
    readonly proof: StandardsProof;
}>;
//# sourceMappingURL=storage.d.ts.map