import type { Usage } from "@caupulican/pi-ai"; import type { IsolatedCompletionOptions, IsolatedCompletionResult } from "../agent-session.ts"; import { type StoredFitnessReport } from "../models/fitness-store.ts"; import type { LaneModelResolver } from "./lane-model-resolver.ts"; import { type ModelFitnessReport } from "./model-fitness.ts"; export interface ModelFitnessControllerDeps { isDisposed(): boolean; getSessionId(): string; getAgentDir(): string; addSpawnedUsage(usage: Usage, opts: { label?: string; sourceSessionId?: string; reportId: string; }): string | undefined; runIsolatedCompletion(opts: IsolatedCompletionOptions): Promise; } /** Owns model-fitness execution, cancellation, accounting, and host-keyed persistence. */ export declare class ModelFitnessController { private readonly abortController; private readonly deps; private readonly models; constructor(deps: ModelFitnessControllerDeps, models: LaneModelResolver); abort(): void; run(args: { model: string; trials?: number; toolCallId?: string; }): Promise<{ started: true; model: string; report: ModelFitnessReport; } | { started: false; skipReason: string; }>; getStoredReports(): StoredFitnessReport[]; } //# sourceMappingURL=model-fitness-controller.d.ts.map