import { AutoBeEventSource, AutoBePreliminaryKind, AutoBeProgressEventBase, AutoBeRealizeFunction } from "@autobe/interface"; import { ILlmController } from "typia"; import { AutoBeContext } from "../../../context/AutoBeContext"; import { IAutoBeOrchestrateHistory } from "../../../structures/IAutoBeOrchestrateHistory"; import { AutoBePreliminaryController } from "../../common/AutoBePreliminaryController"; import { IAutoBeRealizeFunctionFailure } from "../structures/IAutoBeRealizeFunctionFailure"; import { IAutoBeRealizeFunctionResult } from "../structures/IAutoBeRealizeFunctionResult"; interface IProgrammer { template(func: RealizeFunction): string; replaceImportStatements(props: { function: RealizeFunction; code: string; }): Promise; additional(functions: RealizeFunction[]): Record; histories(props: { function: RealizeFunction; failures: IAutoBeRealizeFunctionFailure[]; preliminary: AutoBePreliminaryController; }): Promise; controller(next: { function: RealizeFunction; preliminary: AutoBePreliminaryController; source: Exclude; build(next: Complete): void; }): ILlmController; preliminary(props: { function: RealizeFunction; source: Exclude; }): AutoBePreliminaryController; location: string; } interface IComplete { draft: string; revise: { review: string; final: string | null; }; } export declare const orchestrateRealizeCorrectOverall: (ctx: AutoBeContext, props: { programmer: IProgrammer; functions: RealizeFunction[]; progress: AutoBeProgressEventBase; }, life?: number) => Promise[]>; export {};