import type { AgentRpcError } from "../protocol/wire/index.js";
import type { AcpExtendedHost } from "./acp-extended-handlers.js";
import type { DreamHandlerHost } from "./handlers/dream-handler.js";
import type { MultiAgentHandlerHost } from "./multi-agent-handler-host.js";
type AgentStatusExtra = {
    missedBeats?: number;
    lastActivityAt?: number;
    usage?: {
        inputTokens: number;
        outputTokens: number;
        totalTokens: number;
    };
};
export interface AcpExtendedHostAdapterDeps {
    dreamHost: DreamHandlerHost;
    multiAgentHost: MultiAgentHandlerHost;
    getCurrentSessionId(): string;
    getActiveProjectRoot(): string;
    log(message: string): void;
    resolveAgent: DreamHandlerHost["resolveAgent"];
    sendNotification(method: string, params: Record<string, unknown>): void;
    sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
    emitAgentStatus(agentId: string, state: string, extra?: AgentStatusExtra): void;
    handleMcpToolCall(memberId: string, toolName: string, args: Record<string, unknown>): Promise<unknown>;
    resolveClientForPurpose: AcpExtendedHost["resolveClientForPurpose"];
    pendingAskUser: AcpExtendedHost["pendingAskUser"];
}
export declare function createAcpExtendedHostAdapter(deps: AcpExtendedHostAdapterDeps): AcpExtendedHost;
export {};
