import type { ChainExecution, ChainStep, PreTool } from "./types.js"; export declare function checkSSRF(urlStr: string): Promise; export interface ClaudeResult { stdout: string; durationMs: number; inputTokens?: number; outputTokens?: number; } /** Signature for the Claude runner function passed in by the caller. */ export type ClaudeRunner = (prompt: string, step: ChainStep, onChunk: (chunk: string) => void, executionId?: string) => Promise; export declare function clearPreToolCache(): number; export declare function getPreToolCacheSize(): number; export declare function executeSinglePreTool(tool: PreTool, vars: Record, onLog: (message: string, level: "info" | "warn" | "error") => void, execution?: ChainExecution, executionId?: string, step?: ChainStep, claudeRunner?: ClaudeRunner): Promise; export declare function executePreTools(preTools: PreTool[], vars: Record, onLog: (message: string, level: "info" | "warn" | "error") => void, execution?: ChainExecution, executionId?: string, step?: ChainStep, claudeRunner?: ClaudeRunner, /** Set of denied tool IDs (e.g. "pre:bash", "mcp:sports-hub"). Pass "*" to block all. */ deniedSet?: Set): Promise>; /** Execute a single pre-tool with retry logic and error handling. */ export declare function executePreToolWithRetry(tool: PreTool, vars: Record, onLog: (message: string, level: "info" | "warn" | "error") => void, execution?: ChainExecution, executionId?: string, step?: ChainStep, claudeRunner?: ClaudeRunner): Promise;