import type { RuntimeEventBus } from '../events/index.js'; import type { EmitterContext } from './index.js'; /** Emit TOOL_RECEIVED when a tool call is received from the LLM. */ export declare function emitToolReceived(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; args: Record; }): void; /** Emit TOOL_VALIDATED when tool arguments pass schema validation. */ export declare function emitToolValidated(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; }): void; /** Emit TOOL_PREHOOKED after pre-execution hooks have run. */ export declare function emitToolPrehooked(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; }): void; /** Emit TOOL_PERMISSIONED after permission check completes. */ export declare function emitToolPermissioned(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; approved: boolean; }): void; /** Emit TOOL_EXECUTING when the tool starts executing. */ export declare function emitToolExecuting(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; startedAt: number; }): void; /** Emit TOOL_MAPPED after the result is mapped for the provider. */ export declare function emitToolMapped(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; }): void; /** Emit TOOL_POSTHOOKED after post-execution hooks have run. */ export declare function emitToolPosthooked(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; }): void; /** * Convert any tool result (ToolResult, SyntheticToolResult, etc.) to a ToolResultSummary * for safe emission in the event stream. Never leaks raw output; provides kind, byteSize, preview. */ export declare function toToolResultSummary(result: { success?: boolean | undefined; output?: string | undefined; error?: string | undefined; }): import('../../../events/tools.js').ToolResultSummary; /** Emit TOOL_SUCCEEDED when a tool call completes successfully. */ export declare function emitToolSucceeded(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; durationMs: number; result?: import('../../../events/tools.js').ToolResultSummary; }): void; /** Emit TOOL_FAILED when a tool call fails. */ export declare function emitToolFailed(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; error: string; durationMs: number; result?: import('../../../events/tools.js').ToolResultSummary; }): void; /** Emit TOOL_RECONCILED when unresolved tool calls are synthesized. */ export declare function emitToolReconciled(bus: RuntimeEventBus, ctx: EmitterContext, data: { turnId: string; count: number; callIds: string[]; toolNames: string[]; reason: string; timestamp: number; isMalformed?: boolean | undefined; }): void; /** Emit TOOL_CANCELLED when a tool call is cancelled. */ export declare function emitToolCancelled(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; reason?: string | undefined; }): void; /** Emit BUDGET_EXCEEDED_MS when wall-clock time limit is breached. */ export declare function emitBudgetExceededMs(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; phase: string; limitMs: number; elapsedMs: number; }): void; /** Emit BUDGET_EXCEEDED_TOKENS when token consumption limit is breached. */ export declare function emitBudgetExceededTokens(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; phase: string; limitTokens: number; usedTokens: number; }): void; /** Emit BUDGET_EXCEEDED_COST when cost-in-USD limit is breached. */ export declare function emitBudgetExceededCost(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; turnId: string; tool: string; phase: string; limitCostUsd: number; usedCostUsd: number; }): void; //# sourceMappingURL=tools.d.ts.map