import { AgentStatus } from '@multimodal/agent-interface'; /** * Controls the execution state of an Agent and manages abort functionality * * This class provides: * 1. Status management to prevent concurrent executions * 2. Abort signal handling to cancel running tasks * 3. Cleanup hooks for proper resource management */ export declare class AgentExecutionController { private abortController; private status; private logger; private cleanupHandlers; /** * Get the current execution status */ getStatus(): AgentStatus; /** * Check if the agent is currently executing */ isExecuting(): boolean; /** * Get the current abort signal * @returns The current abort signal or undefined if not executing */ getAbortSignal(): AbortSignal | undefined; /** * Begin a new execution session * @returns abort signal for the new session * @throws Error if another execution is already in progress */ beginExecution(): AbortSignal; /** * End the current execution session * @param status The final status to set */ endExecution(status?: AgentStatus): Promise; /** * Abort the current execution * @returns True if execution was aborted, false if there was no execution to abort */ abort(): boolean; /** * Register a cleanup handler to be called when execution ends * @param handler Function to call during cleanup */ registerCleanupHandler(handler: () => Promise | void): void; /** * Check if the current execution has been aborted */ isAborted(): boolean; } //# sourceMappingURL=execution-controller.d.ts.map