/**
 * Issue #560 PR 5 — Memory Worth recall filter benchmark.
 *
 * Self-contained precision benchmark for `applyMemoryWorthFilter`. Seeds a
 * synthetic corpus where a small subset of memories have known-bad outcome
 * history, then compares top-K precision with the filter off vs. on.
 *
 * Why a dedicated in-package file (rather than the full `@remnic/bench`
 * harness): the filter is a pure function over candidate scores and counter
 * data; it doesn't need QMD, the orchestrator, or the schema-tier fixtures.
 * Running it as a plain `tsx` script keeps the signal tight — any drift in
 * the scorer's math shows up as a precision delta here, no integration
 * wiring required.
 *
 * The `runMemoryWorthBench()` export is the programmatic entry point;
 * `runMemoryWorthBenchCli()` is what `tsx` calls when this file is executed
 * directly. Both return (or print) a structured result so CI can gate on
 * it if we later want to.
 *
 * Verdict for PR 5: run the bench once, confirm filter-on ≥ filter-off on
 * precision@K across every seed, and only then flip the default to `true`.
 */
interface MemoryWorthBenchResult {
    cases: number;
    k: number;
    /** Mean precision@K with the filter disabled. */
    precisionAtK_off: number;
    /** Mean precision@K with the filter enabled. */
    precisionAtK_on: number;
    /** `on - off`; positive means filter helps, zero means tied. */
    delta: number;
    /** Filter-on wins at least as often as it loses, case-by-case. */
    filterWinsOrTies: boolean;
}
/**
 * Run the benchmark over N synthetic cases using a fixed PRNG seed. Returns
 * aggregate precision numbers + a boolean verdict.
 */
declare function runMemoryWorthBench(options?: {
    cases?: number;
    seed?: number;
    now?: Date;
}): MemoryWorthBenchResult;
/**
 * CLI entry point — run the bench and print a structured result. Exits
 * non-zero if the filter ever loses to the no-filter baseline (so CI can
 * gate on this in the future).
 */
declare function runMemoryWorthBenchCli(): void;

export { type MemoryWorthBenchResult, runMemoryWorthBench, runMemoryWorthBenchCli };
