import type { Tool } from '../../types/tools.js';
import type { SessionChangeTracker } from '../../sessions/change-tracker.js';
import { FileUndoManager } from '../../state/file-undo.js';
import { FileStateCache } from '../../state/file-cache.js';
import type { ConfigManager } from '../../config/manager.js';
import type { ToolLLM } from '../../config/tool-llm.js';
export interface EditToolOptions {
    cwd?: string | undefined;
    fileUndoManager?: FileUndoManager | undefined;
    configManager?: Pick<ConfigManager, 'get' | 'getWorkingDirectory'> | undefined;
    toolLLM?: Pick<ToolLLM, 'chat'> | undefined;
    changeTracker?: Pick<SessionChangeTracker, 'recordChange'> | undefined;
}
export declare function createEditTool(fileCache: FileStateCache, options?: EditToolOptions): Tool;
//# sourceMappingURL=core.d.ts.map