/**
 * AcpManager — Manages the lifecycle of all subagent ACP connections.
 *
 * The TUI orchestrator calls spawn() when it needs to delegate work.
 * The manager tracks active subagents and provides cancel / waitAll.
 */
import type { SubagentInfo, SubagentResult, SubagentTask } from '@pellux/goodvibes-sdk/platform/acp/protocol';
import type { PermissionRequestHandler } from '../permissions/prompt.js';
import type { RuntimeEventBus } from '../runtime/events/index.js';
import type { HookDispatcher } from '../hooks/index.js';
export declare function getDefaultAcpAgentCommand(): string[];
/**
 * AcpManager — Manages multiple concurrent subagent connections.
 *
 * @example
 * ```ts
 * const mgr = new AcpManager(bus);
 * const id = await mgr.spawn({ description: 'Fix the bug', context: '...', tools: ['read'] });
 * const results = await mgr.waitAll();
 * ```
 */
export declare class AcpManager {
    private connections;
    private pending;
    private agentCmd;
    private readonly requestPermission?;
    private readonly runtimeBus;
    private readonly hookDispatcher;
    constructor(permissionOrLegacyBus?: PermissionRequestHandler | {
        emit?: unknown;
    }, runtimeBus?: RuntimeEventBus | null, hookDispatcher?: Pick<HookDispatcher, 'fire'> | null);
    /**
     * Spawn a new subagent and start running the task.
     * Returns the subagent ID immediately; the task runs in the background.
     */
    spawn(task: SubagentTask): Promise<string>;
    /** Returns info snapshots for all active subagents. */
    getActive(): SubagentInfo[];
    /** Cancel a specific subagent by ID. No-op if not found. */
    cancel(id: string): Promise<void>;
    /** Cancel all active subagents. */
    cancelAll(): Promise<void>;
    /**
     * Wait for all currently active subagents to finish.
     * Returns results in completion order.
     */
    waitAll(): Promise<SubagentResult[]>;
}
//# sourceMappingURL=manager.d.ts.map