/**
 * `traceAnalystProposer` — wraps agent-eval's OWN trace-analyst engine
 * (`AnalystRegistry` over the agentic OTLP reader) as a `SurfaceProposer`.
 * It is the symmetric opponent to `haloProposer`: both run the SAME shared
 * `analysisEditProposer` pipeline (materialize identical traces → apply via one
 * identical LLM edit), so a `compareProposers` lift delta isolates a single
 * variable — ANALYSIS QUALITY. The benchmark answers "is our HALO clone as good
 * as the real HALO?" as a held-out lift CI, not a vibe.
 *
 * Findings come from the REGISTRY (structured `AnalystFinding[]` carrying
 * area / severity / recommended_action), rendered into the report the shared
 * apply step consumes.
 *
 * Fail-loud: no traces → throw; analyst run errors → throw; zero findings →
 * throw. Never fabricate a candidate.
 */
import { type TraceAnalystKindSpec } from '../../analyst/kind-factory';
import type { AnalystFinding } from '../../analyst/types';
import type { LlmClientOptions } from '../../llm-client';
import type { ProposeContext, SurfaceProposer } from '../types';
export interface TraceAnalystProposerOptions {
    /** OpenAI-compatible base URL for BOTH the analyst's agentic reads and the
     *  apply step (e.g. `https://api.deepseek.com/v1` or the Tangle router). */
    baseUrl: string;
    /** Bearer key. Required — the Ax AI service has no env fallback here. */
    apiKey: string;
    /** Model the analyst kinds use for their agentic trace reads. */
    model: string;
    /** Model used to APPLY findings to the prompt surface. Default = `model`.
     *  Keep this EQUAL to haloProposer's `applyModel` for an apples-to-apples run. */
    applyModel?: string;
    /** Ax provider name. Default 'openai' — works for any OpenAI-compatible base
     *  via `apiURL`. Use 'deepseek' to hit DeepSeek's native provider. */
    provider?: string;
    /** Which analyst kinds to run. Default = the full shipped suite. */
    kinds?: readonly TraceAnalystKindSpec[];
    /** Resolve the OTLP traces (JSONL string) the analyst should read for THIS
     *  generation — identical contract to `haloProposer.resolveTraces`. */
    resolveTraces: (ctx: ProposeContext) => string | Promise<string>;
    /** Override the findings producer. Default: the shipped `AnalystRegistry`
     *  over `kinds`. The unit suite injects canned findings here. */
    analyze?: (tracePath: string, ctx: ProposeContext) => Promise<ReadonlyArray<AnalystFinding>>;
    /** Test seam: inject a fetch for the apply-step `callLlm`. */
    fetchImpl?: LlmClientOptions['fetch'];
}
/** Wrap agent-eval's trace-analyst registry as a SurfaceProposer (prompt-tier). */
export declare function traceAnalystProposer(opts: TraceAnalystProposerOptions): SurfaceProposer;
//# sourceMappingURL=trace-analyst.d.ts.map