/**
 * Trace Summary v2 (Spark Plan 02)
 *
 * Runs a small, deterministic catalog of probe queries against a live
 * `trace_processor_shell --httpd` (Spark #102 — engine continues to be
 * canonical) and returns a `TraceSummaryV2Contract` with hierarchical
 * L0-L3 metrics plus per-probe support flags.
 *
 * Design choices:
 *  - The query function is injected so this module is unit-testable without
 *    spinning up trace_processor; production callers pass a TraceProcessor.
 *  - Each metric is fully self-describing (`unit`, `layer`, `source`,
 *    optional `evidenceRef`, `unsupportedReason`) so AI consumers can quote
 *    provenance for every value.
 *  - Probes that return an error or empty result mark the metric
 *    `unsupportedReason` rather than fabricating a zero, satisfying the plan
 *    invariant that missing data is never silently filled.
 */
import { type TraceSummaryBaselineRef, type TraceSummaryV2Contract } from '../types/sparkContracts';
export interface QueryFn {
    (sql: string): Promise<{
        columns: string[];
        rows: any[][];
        error?: string;
    }>;
}
export interface TraceSummaryV2Options {
    query: QueryFn;
    /** Optional trace processor build identifier (semver / git sha). */
    traceProcessorBuild?: string;
    /** Optional baseline pointer to attach for diff context. */
    baseline?: TraceSummaryBaselineRef;
}
declare const SECOND_NS = 1000000000;
/**
 * Run the canonical probe catalog and assemble a TraceSummaryV2Contract.
 *
 * Probes that fail or return empty results are reflected in `probes[id]=false`
 * and produce a single metric with `unsupportedReason` rather than being
 * silently zero-filled, so AI consumers cannot quote fabricated values.
 */
export declare function buildTraceSummaryV2(options: TraceSummaryV2Options): Promise<TraceSummaryV2Contract>;
/** For tests: surface the probe catalog so callers can assert on coverage. */
export declare function _getDefaultProbeIdsForTesting(): string[];
/** SECOND_NS export used for downstream layer math (Plan 25 baseline diff). */
export { SECOND_NS as TRACE_SECOND_NS };
//# sourceMappingURL=traceSummaryV2.d.ts.map