import { OptimizerIO } from "./optimizerIO.js";
import { FeedbackEntry } from "./optimize.js";
/**
 * Scripted OptimizerIO for testing. Feeds pre-defined inputs, feedback,
 * and proposals instead of prompting the user or calling an LLM.
 */
export declare class TestOptimizerIO implements OptimizerIO {
    private inputs;
    private feedbacks;
    private proposals;
    private acceptAll;
    private inputIndex;
    private feedbackIndex;
    private proposalIndex;
    constructor(inputs: Record<string, any>[], feedbacks: {
        score: number | null;
        feedback: string;
    }[], proposals: string[], acceptAll?: boolean);
    getUserInput(_nodeName: string, _parameters: {
        name: string;
        typeHint?: any;
    }[]): Promise<Record<string, any>>;
    collectFeedback(): Promise<{
        score: number | null;
        feedback: string;
    }>;
    proposeImprovement(_currentPrompt: string, _goal: string, _history: FeedbackEntry[]): Promise<string>;
    confirmProposal(_proposed: string): Promise<boolean>;
}
