import { FlowMetadata } from '../models/FlowMetadata';
import { ProposedToolCall } from '../models/ProposedToolCall';
import { AgentsManager } from './AgentsManager';
import { GptConfigsManager } from './GptConfigsManager';
export declare class CodeGenerator {
    private readonly gptConfigsManager;
    private readonly agentsManager;
    constructor(gptConfigsManager: GptConfigsManager, agentsManager: AgentsManager);
    /** Creates a Node.js Microsoft Playwright script to replay the given flow. */
    getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall<any>[]): Promise<string>;
    /**
     * Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
     * the `DonobuExtendedPage` extension.
     */
    static convertProposedToolCallToPlaywrightCode(proposedToolCall: ProposedToolCall<any>): string;
    private prettifyCode;
    /**
     * Sanitizes a JSON string to be safely used within a template literal (backtick string)
     * Prevents both backtick termination and string interpolation from triggering
     *
     * @param jsonString - The JSON string to sanitize
     * @returns The sanitized string that can be safely used within backticks
     */
    private sanitizeForTemplateLiteral;
}
//# sourceMappingURL=CodeGenerator.d.ts.map