import { ProjectContext } from '../types'; export interface FileOperationResult { success: boolean; message: string; data?: any; error?: string; } export interface FileComparisonResult { identical: boolean; differences: { line: number; type: 'added' | 'removed' | 'modified'; content: string; originalContent?: string; }[]; similarity: number; } export declare class FileOperations { private backupDirectory; private currentContext?; private recordOperation?; private logger; private projectAnalyzer; constructor(backupDirectory: string, currentContext?: ProjectContext | undefined, recordOperation?: ((operation: string, files: string[], details?: any) => void) | undefined); resolvePath(inputPath: string): string; validatePath(filePath: string): boolean; createBackup(filePath: string): Promise; editFile(filePath: string, search?: string, replace?: string, lineNumber?: number, insertAt?: 'start' | 'end' | 'before' | 'after', validateBefore?: boolean): Promise; searchFiles(pattern: string, searchType?: 'name' | 'content' | 'both', directory?: string, recursive?: boolean, includeHidden?: boolean, fileTypes?: string[], maxResults?: number): Promise; deleteFile(filePath: string, createBackup?: boolean, force?: boolean): Promise; copyFile(sourcePath: string, destinationPath: string, overwrite?: boolean, preserveTimestamps?: boolean): Promise; moveFile(sourcePath: string, destinationPath: string, updateReferences?: boolean, createBackup?: boolean): Promise; private updateFileReferences; compareFiles(file1Path: string, file2Path: string, compareType?: 'content' | 'structure' | 'syntax', ignoreWhitespace?: boolean, contextLines?: number): Promise; getFileInfo(filePath: string, includeContent?: boolean, includeEncoding?: boolean, includeChecksum?: boolean): Promise; validateSyntax(filePath: string, language?: string, strictMode?: boolean, formatCheck?: boolean): Promise; private extractLineNumber; private detectLanguage; } //# sourceMappingURL=file-operations.d.ts.map