/**
 * Extension System - Tool Types
 *
 * Tool definitions re-exported from @earendil-works/pi-agent-core.
 */
import type { AgentTool, AgentToolResult, AgentToolUpdateCallback } from '@earendil-works/pi-agent-core';
export type { AgentTool, AgentToolResult, AgentToolUpdateCallback };
export interface ToolExecutionStartEvent {
    toolName: string;
    toolCallId: string;
    params: Record<string, unknown>;
    agentId?: string;
    sessionKey?: string;
}
export interface ToolExecutionUpdateEvent<TDetails = unknown> {
    toolName: string;
    toolCallId: string;
    update: AgentToolResult<TDetails>;
    agentId?: string;
    sessionKey?: string;
}
export interface ToolExecutionEndEvent<TDetails = unknown> {
    toolName: string;
    toolCallId: string;
    result?: AgentToolResult<TDetails>;
    error?: Error;
    durationMs?: number;
    agentId?: string;
    sessionKey?: string;
}
