import { PlanEntry, ToolCall, ToolCallContent, ToolCallLocation, ToolCallUpdate } from '@agentclientprotocol/sdk';
import { ToolUseBlock, ToolResultBlockParam, WebSearchToolResultBlockParam } from '@anthropic-ai/sdk/resources';
import { BetaWebSearchToolResultBlockParam, BetaWebFetchToolResultBlockParam, BetaCodeExecutionToolResultBlockParam, BetaBashCodeExecutionToolResultBlockParam, BetaTextEditorCodeExecutionToolResultBlockParam, BetaRequestMCPToolResultBlockParam, BetaToolSearchToolResultBlockParam } from '@anthropic-ai/sdk/resources/beta.mjs';

type ToolInfo = Pick<ToolCall, "title" | "kind" | "content" | "locations">;
/**
 * Convert an absolute file path to a project-relative path for display.
 * Returns the original path if it's outside the project directory or if no cwd is provided.
 */
declare function toDisplayPath(filePath: string, cwd?: string): string;
declare function toolInfoFromToolUse(toolUse: Pick<ToolUseBlock, "name" | "input">, options?: {
    supportsTerminalOutput?: boolean;
    toolUseId?: string;
    cachedFileContent?: Record<string, string>;
    cwd?: string;
}): ToolInfo;
declare function toolUpdateFromEditToolResponse(toolResponse: unknown): {
    content: ToolCallContent[];
    locations: ToolCallLocation[];
} | null;
declare function toolUpdateFromToolResult(toolResult: ToolResultBlockParam | BetaWebSearchToolResultBlockParam | BetaWebFetchToolResultBlockParam | WebSearchToolResultBlockParam | BetaCodeExecutionToolResultBlockParam | BetaBashCodeExecutionToolResultBlockParam | BetaTextEditorCodeExecutionToolResultBlockParam | BetaRequestMCPToolResultBlockParam | BetaToolSearchToolResultBlockParam, toolUse: Pick<ToolUseBlock, "name" | "input"> | undefined, options?: {
    supportsTerminalOutput?: boolean;
    toolUseId?: string;
    cachedFileContent?: Record<string, string>;
}): Pick<ToolCallUpdate, "title" | "content" | "locations" | "_meta">;
type ClaudePlanEntry = {
    content: string;
    status: "pending" | "in_progress" | "completed";
    activeForm: string;
};
declare function planEntries(input: {
    todos: ClaudePlanEntry[];
}): PlanEntry[];

export { type ClaudePlanEntry, planEntries, toDisplayPath, toolInfoFromToolUse, toolUpdateFromEditToolResponse, toolUpdateFromToolResult };
