import { ToolManager } from './ToolManager';
import { ActionLoop, ActionLoopStep, ActionLoopOptions, ILogger } from './types';
import { ExecutionState } from './types/execution';
import { IAIProvider } from './types/provider';
export declare class ActionLoopImpl implements ActionLoop {
    private steps;
    private plugins;
    private provider;
    private tools;
    private logger;
    private options;
    constructor(options: ActionLoopOptions & {
        provider: IAIProvider;
        tools: ToolManager;
        logger: ILogger;
    });
    execute(initialState: ExecutionState): Promise<ExecutionState>;
    addStep(step: ActionLoopStep): void;
    removeStep(stepName: string): void;
    private isLoopComplete;
    private notifyPlugins;
}
