import { type RegenerateOptions } from './regenerate.js';
import type { CapabilityClaim, CapabilityResolution } from './schema.js';
export type CapabilityFmClause = 'a' | 'c' | 'd';
export interface CapabilityFmViolation {
    clause: CapabilityFmClause;
    detail: string;
}
export interface CapabilityFalsificationResult {
    ok: boolean;
    violations: CapabilityFmViolation[];
}
/**
 * Run FM a/c/d over an append-only claim/resolution log. (FM-b is structural — the
 * `ResolutionSource` enum cannot express an LLM-judge — so there is nothing to check at
 * runtime; it is locked at the schema/type level + asserted in the schema tests.)
 */
export declare function runCapabilityFalsification(claims: readonly CapabilityClaim[], resolutions: readonly CapabilityResolution[], opts: RegenerateOptions): CapabilityFalsificationResult;
//# sourceMappingURL=falsification.d.ts.map