import type { OptimizeAppliedChange, OptimizeMutationDiagnostic } from "./sourceMutator.js"; import type { OptimizeTarget } from "./targets.js"; import type { OptimizeDecision, OptimizeResult } from "./types.js"; export type OptimizeVerbosity = "silent" | "default"; /** Presentation boundary for the optimizers. `silent` renders nothing. */ export type PointwiseReporter = { runStarted(args: { optimizer: string; runId: string; targets: OptimizeTarget[]; inputCount: number; iterations: number; }): void; gradingSetup(args: { graders: { name: string; describe: string; }[]; firstInput?: { id: string; goal?: string; }; }): void; baselineScored(args: { objective: number; }): void; iterationDecided(args: { iter: number; total: number; decision: OptimizeDecision; objective?: number; rationale?: string; changes?: OptimizeAppliedChange[]; diagnostics?: OptimizeMutationDiagnostic[]; durationMs?: number; }): void; /** Free-form, verbosity-gated line for optimizer-specific detail (e.g. which parent GEPA sampled). */ note(message: string): void; runFinished(args: { result: OptimizeResult; initialTargets: OptimizeTarget[]; finalTargets: OptimizeTarget[]; durationMs: number; }): void; }; /** One-line summary of why a mutation was rejected at validation. */ export declare function formatDiagnostics(diagnostics: OptimizeMutationDiagnostic[]): string; export declare function createPointwiseReporter(verbosity: OptimizeVerbosity, log?: (line: string) => void): PointwiseReporter; export declare const SILENT_POINTWISE_REPORTER: PointwiseReporter;