import type { CodeGenTools, ContentMessageItemToolResult, ProjectFile } from "$/ai-utils";
import type { DevToolsSys } from "../core";
import type { RunCommandCtx } from "./codegen";
export interface LLMToolCalls {
    name: CodeGenTools;
    input: Record<string, any>;
    id: string;
}
export interface ToolResolution {
    toolResult: string;
    isError: boolean;
    title?: string;
}
export interface ProvidedToolContext {
    commandCtx?: RunCommandCtx;
    allowedCommands?: RegExp[];
}
export interface ToolContext extends ProvidedToolContext {
    sys: DevToolsSys;
    files: ProjectFile[];
    signal: AbortSignal | undefined;
}
export declare function resolveToolCalls(toolContext: ToolContext, toolCalls: LLMToolCalls[]): Promise<ContentMessageItemToolResult[]>;
interface RipgrepMatch {
    path: string;
    lineNumber: number;
    lineContent: string;
}
interface RipgrepResult {
    matches: RipgrepMatch[];
}
export declare function runRipgrep(sys: DevToolsSys, pattern: string, includeGlob?: string, excludeGlob?: string): Promise<RipgrepResult>;
export {};
