import { AgencyConfig } from "../config.js";
import { FeedbackEntry } from "./optimize.js";
export type OptimizerIO = {
    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>;
};
export declare class DefaultOptimizerIO implements OptimizerIO {
    private config;
    constructor(config: AgencyConfig);
    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>;
}
