/**
 * Trace-analyst tool surface — six namespaced AxFunctions the analyst
 * agent calls from generated JS code via `traces.<name>(...)`.
 *
 * Discovery → narrow → deep-read protocol. Tool names + ordering
 * support RLM discovery:
 *
 *   1. `getDatasetOverview` (cheap)  — first call, sizes the dataset
 *   2. `queryTraces`                 — paginated summaries with `raw_jsonl_bytes`
 *   3. `countTraces`                 — cheap pre-flight before regex
 *   4. `viewTrace`                   — full span list, oversized → summary
 *   5. `viewSpans`                   — surgical 16KB-cap reads
 *   6. `searchTrace` / `searchSpan`  — bounded regex hits
 *
 * Failure mode. Tool handlers throw on bad input (invalid trace ids,
 * out-of-range pagination, malformed regex). Ax converts thrown errors
 * into actor-visible `[ERROR]` strings so the analyst can adjust on
 * the next turn instead of looping.
 */
import type { AxFunction } from '@ax-llm/ax';
import type { TraceAnalysisStore } from './store';
interface BuildTraceAnalystToolsOpts {
    store: TraceAnalysisStore;
    /** Override the default sample-trace-id slot count (20). Mostly for tests. */
    sampleTraceLimit?: number;
}
/**
 * Build the trace-analyst function set. Pass the result into
 * `agent(...).functions.local`.
 */
export declare function buildTraceAnalystTools(opts: BuildTraceAnalystToolsOpts): AxFunction[];
/**
 * Convenience: same shape as `buildTraceAnalystTools` but returns the
 * grouped form expected when registering trace tools alongside other
 * agent function modules. */
export declare function traceAnalystFunctionGroup(opts: BuildTraceAnalystToolsOpts): {
    namespace: string;
    title: string;
    selectionCriteria: string;
    description: string;
    functions: AxFunction[];
};
export {};
//# sourceMappingURL=tools.d.ts.map