import type { ACPClient, EnsureSessionInput, EnsureSessionResult, InspectRunInput, InspectRunResult, InspectSessionInput, InspectSessionResult, StartRunInput, StartRunResult, StopSessionInput } from '../../interfaces/ACPClient.js';
import { type PermissionMode } from './acp-permissions.js';
export interface AgentRegistryEntry {
    command: string;
    args: string[];
}
/** Load custom agents from ~/.coral/agents.json, merge with builtins. */
export declare function loadAgentRegistry(): Record<string, AgentRegistryEntry>;
export declare class AcpSdkAdapter implements ACPClient {
    private readonly sessions;
    private readonly defaultPermissionMode;
    constructor(permissionMode?: PermissionMode);
    ensureSession(input: EnsureSessionInput): Promise<EnsureSessionResult>;
    startRun(input: StartRunInput): Promise<StartRunResult>;
    inspectSession(input: InspectSessionInput): Promise<InspectSessionResult>;
    inspectRun(input: InspectRunInput): Promise<InspectRunResult>;
    subscribe(sessionName: string, listener: import('./acp-session-accumulator.js').AccumulatorListener): () => void;
    cancelRun(sessionName: string): Promise<void>;
    stopSession(input: StopSessionInput): Promise<void>;
    private destroySession;
    /** Kill all child processes of a given PID (Linux: pgrep -P). */
    private killDescendants;
}
//# sourceMappingURL=AcpSdkAdapter.d.ts.map