/**
 * The capsule — the artifact every exploration produces.
 *
 * `buildCapsule` assembles coverage + verified findings + the QD archive into a
 * pure `CapsuleData` (no clock, no I/O — deterministic and snapshot-testable).
 * `renderCapsuleHtml` turns it into a standalone page: the input-cell heat-map
 * (planned vs covered), per-dimension weakness chips, and the minimized finding
 * exemplars. One artifact — the hardening map and the shareable proof object.
 */
import type { EvalRecord } from './cube';
import type { ArchiveEntry, CapsuleData, Cell, Finding } from './types';
export interface BuildCapsuleInput<S> {
    target: string;
    objective: string;
    cells: Cell[];
    log: EvalRecord[];
    /** The objective's notable threshold — drives findingRate. */
    threshold: number;
    archive: ArchiveEntry<S>[];
    findings: Finding<S>[];
    candidateFindings: number;
    runsUsed: number;
    /** Known-dollar / unknown-run split — present only when cost tracking was
     *  wired; the capsule never fabricates a $0 total. */
    cost?: {
        costUsd: number;
        costUnknownRuns: number;
    };
    /** Evaluations that threw — infra outcomes, never folded into robustness. */
    evalErrors: number;
    /** Set when the consecutive-error circuit breaker stopped the run early. */
    stoppedEarly?: {
        reason: 'eval-errors';
        detail: string;
    };
}
export declare function buildCapsule<S>(input: BuildCapsuleInput<S>): CapsuleData<S>;
export interface RenderCapsuleOptions {
    /** Max finding exemplars to show. Default 8. */
    maxFindings?: number;
    /** ISO timestamp to stamp into the page (keeps the pure capsule clock-free). */
    generatedAt?: string;
}
/** Render a self-contained HTML capsule — heat-map + per-dimension chips + verified findings. */
export declare function renderCapsuleHtml<S>(capsule: CapsuleData<S>, opts?: RenderCapsuleOptions): string;
//# sourceMappingURL=capsule.d.ts.map