import type { ImpactCounts, ImpactSavings } from './impact.js'; /** What the two numbers are measured against, shown beside them in the report. */ export declare const IMPACT_BASIS: { readonly TOKENS: "vs an agent reading the app through screenshots"; readonly MINUTES: "vs checking each consequence by hand, plus one re-prompt cycle per defect caught"; }; /** * Estimate what the recorded work saved. * * Tokens: every verdict-bearing call replaced a look the agent would otherwise have taken as a * screenshot. The tokens Reticle actually returned are subtracted, so the figure is a NET saving * and can never exceed the modelled cost of the runs it replaced. * * Minutes: two different counterfactuals, summed. EVERY verdict replaces a check somebody would * otherwise have made by hand. A verdict that also caught a DEFECT saves the re-prompt round trip on * top, because that is what a false green costs when it escapes. * * Decomposed rather than blended so the basis line can name both, and so changing the value of a * pass never silently changes the value of a catch. */ export declare function estimateImpactSavings(counts: ImpactCounts): ImpactSavings;