/**
 * Agents scan/config/gateway/processes/kill handlers — extracted from StdioServer.
 * Handles: agents.scan, agents.list, agents.config, agents.setConfig, agents.getConfig,
 *          agents.removeConfig, agents.setGateway, agents.getGateway, agents.processes,
 *          agents.kill, agents.listConfigured, agents.getLog, agents.testConnection
 */
import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
import { AgentProcessManager } from "../../runtime/infra/agent-process.js";
import type { AgentConfigStore } from "../../runtime/infra/agent-config-store.js";
import { type AcpDetector } from "../../runtime/infra/acp-detector.js";
export interface AgentsHandlerHost {
    acpDetector: AcpDetector;
    soloProcessManager: AgentProcessManager | null;
    productProcessManager: AgentProcessManager | null;
    ensureAgentConfigStore(): Promise<AgentConfigStore>;
    getActiveProjectRoot?(): string;
    handleMcpToolCall?(memberId: string, tool: string, args: Record<string, unknown>): Promise<unknown>;
    log?(message: string): void;
    sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
    sendNotification?(method: string, params: Record<string, unknown>): void;
}
/** Resolve a pending external-agent approval with the user's decision (delivered by the gateway). */
export declare function handleAgentsApprovalResponse(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsScan(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsList(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
/**
 * Curated Discover-Agent catalog (12 agents) merged with live install status, for the
 * discover grid. Status comes from the detector; install carries the official command
 * summary + source for the confirm dialog (no secrets).
 */
export declare function handleAgentsCatalog(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
/**
 * One-click install a catalog agent by id. Runs ONLY the official command from the
 * catalog manifest (never a free-form command), streaming progress via the
 * agent.install.progress notification, then refreshes detection. Returns the outcome.
 */
export declare function handleAgentsInstall(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsConfig(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsSetConfig(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsGetConfig(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsRemoveConfig(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsSetGateway(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsGetGateway(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsListConfigured(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsProcesses(this: AgentsHandlerHost, msg: AgentRpcRequest): void;
export declare function handleAgentsKill(this: AgentsHandlerHost, msg: AgentRpcRequest): void;
export declare function handleAgentsGetLog(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsTestConnection(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
/** Pre-warm an external agent's process (on agent-select) so the first message skips the cold start. */
export declare function handleAgentsWarm(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
export declare function handleAgentsPrompt(this: AgentsHandlerHost, msg: AgentRpcRequest): Promise<void>;
