/** * Executor Framework * Base interface and registry for multi-agent executors */ import type { ExecutorType, ExecutorOptions, ExecutorResult, ExecutorConfig, AvailabilityStatus } from '../types.js'; /** * Base interface for all agent executors */ export interface AgentExecutor { /** Executor type identifier */ readonly type: ExecutorType; /** Check if the executor is available on this system (shallow check) */ isAvailable(): Promise; /** Execute a prompt with this executor */ execute(prompt: string, options?: ExecutorOptions): Promise; /** Abort current execution */ abort(): void; /** Deep availability check with auth status (optional) */ checkAvailability?(): Promise; } /** * Registry for managing multiple executors */ export declare class ExecutorRegistry { private executors; private configs; /** * Register an executor */ register(executor: AgentExecutor, config?: ExecutorConfig): void; /** * Get an executor by type */ get(type: ExecutorType): AgentExecutor | undefined; /** * Get executor configuration */ getConfig(type: ExecutorType): ExecutorConfig | undefined; /** * Check if an executor is registered and enabled */ isEnabled(type: ExecutorType): boolean; /** * Get all available executors (installed and enabled) */ getAvailable(): Promise; /** * Get all registered executor types */ getRegistered(): ExecutorType[]; /** * Execute with a specific executor */ execute(type: ExecutorType, prompt: string, options?: ExecutorOptions): Promise; } export declare function getExecutorRegistry(): ExecutorRegistry; export declare function resetExecutorRegistry(): void; //# sourceMappingURL=index.d.ts.map