import { AutoBeProgressEventBase, AutoBeRealizeFunction } from "@autobe/interface";
import { AutoBeContext } from "../../../context/AutoBeContext";
interface IProgrammer<RealizeFunction extends AutoBeRealizeFunction> {
    template(func: RealizeFunction): string;
    replaceImportStatements(props: {
        function: RealizeFunction;
        code: string;
    }): Promise<string>;
    additional(functions: RealizeFunction[]): Record<string, string>;
    location: string;
}
export declare const orchestrateRealizeCorrectCasting: <RealizeFunction extends AutoBeRealizeFunction>(ctx: AutoBeContext, props: {
    programmer: IProgrammer<RealizeFunction>;
    functions: RealizeFunction[];
    progress: AutoBeProgressEventBase;
}, life?: number) => Promise<RealizeFunction[]>;
export {};
