import { type JudgeLLM } from './adapters'; import { type AgentGenome } from './genome'; export type VariantRunner = (genome: AgentGenome, input: string) => Promise<{ output: string; latencyMs?: number; costUsd?: number; }>; export type ShadowRunResult = { variantId: string; isPrimary: boolean; output: string | null; score: number | null; costUsd: number; latencyMs: number; error?: string; }; export type ShadowRunSummary = { batchId: string; primaryVariantId: string; primaryOutput: string | null; runs: ShadowRunResult[]; }; export type ShadowRunOptions = { taskType: string; input: string; runVariant: VariantRunner; agentId?: string; candidateLimit?: number; concurrency?: number; scoreShadows?: boolean; scorePrimary?: boolean; persist?: boolean; judgeLLM?: JudgeLLM; }; export declare function shadowRun(opts: ShadowRunOptions): Promise; export type ShadowStats = { variantId: string; n: number; meanScore: number; meanCost: number; meanLatencyMs: number; }; export declare function getShadowStats(taskType: string, sinceSecsAgo?: number): ShadowStats[];