import { WarpGrepProvider } from './tools/warp_grep/providers/types.js';
import { FinishFileSpec } from './tools/warp_grep/agent/types.js';

declare function toolGrep(provider: WarpGrepProvider, args: {
    pattern: string;
    path: string;
    glob?: string;
    context_lines?: number;
    case_sensitive?: boolean;
}): Promise<{
    output: string;
}>;

declare function toolRead(provider: WarpGrepProvider, args: {
    path: string;
    start?: number;
    end?: number;
    lines?: Array<[number, number]>;
}): Promise<string>;

declare function toolListDirectory(provider: WarpGrepProvider, args: {
    path: string;
    pattern?: string | null;
    maxResults?: number;
    maxDepth?: number;
}, repoRoot?: string): Promise<string>;

declare function normalizeFinishFiles(files: FinishFileSpec[]): FinishFileSpec[];
declare function readFinishFiles(repoRoot: string, files: FinishFileSpec[], reader: (path: string, start?: number, end?: number) => Promise<string[]>): Promise<{
    path: string;
    ranges: '*' | Array<[number, number]>;
    content: string;
}[]>;

export { toolRead as a, toolListDirectory as b, normalizeFinishFiles as n, readFinishFiles as r, toolGrep as t };
