import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/index.js";
import type { NotificationMethodMap } from "../../protocol/notifications.js";
import type { ToolCatalog } from "../../runtime/ports/index.js";
export interface ControlHandlerHost {
    running: boolean;
    startedAt: number;
    packageVersion: string;
    toolCatalog: ToolCatalog;
    activeTurn: AbortController | null;
    rpcContract: {
        metrics(): unknown;
        cancel(requestId: string, reason?: string): boolean;
    };
    log(message: string): void;
    sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
    sendNotification<M extends keyof NotificationMethodMap>(method: M, params: NotificationMethodMap[M]): void;
    ensureDefaultProject(): void;
}
export declare function handleInitialize(this: ControlHandlerHost, msg: AgentRpcRequest): void;
export declare function handlePing(this: ControlHandlerHost, msg: AgentRpcRequest): void;
export declare function handleHealth(this: ControlHandlerHost, msg: AgentRpcRequest): void;
export declare function handleMetrics(this: ControlHandlerHost, msg: AgentRpcRequest): void;
export declare function handleCancel(this: ControlHandlerHost, msg: AgentRpcRequest): void;
