/** * File reference system for @ commands * Provides file discovery, selection, and reference management */ export interface FileReference { path: string; relativePath: string; name: string; size: number; modified: Date; type: 'file' | 'directory'; extension?: string; isGitTracked?: boolean; } export interface FileSearchOptions { pattern?: string; maxResults?: number; includeDirectories?: boolean; extensions?: string[]; excludePatterns?: string[]; searchDepth?: number; sortBy?: 'name' | 'modified' | 'size' | 'relevance'; } /** * File reference manager for @ command system */ export declare class FileReferenceManager { private baseDir; private gitTrackedFiles; private fileCache; private lastCacheUpdate; private cacheTimeout; constructor(baseDir?: string); /** * Search for files matching a pattern */ searchFiles(query: string, options?: FileSearchOptions): Promise; /** * Get file suggestions for autocomplete */ getFileSuggestions(partial: string): Promise; /** * Get path-based suggestions */ private getPathSuggestions; /** * Get file details by path */ getFileDetails(path: string): Promise; /** * Get recently modified files */ getRecentFiles(limit?: number): Promise; /** * Get git tracked files */ getGitTrackedFiles(): Promise; /** * Get files by extension */ getFilesByExtension(extension: string): Promise; /** * Get commonly used file extensions in project */ getCommonExtensions(): Promise; /** * Update file cache if needed */ private updateCacheIfNeeded; /** * Update the file cache */ private updateFileCache; /** * Update git tracked files */ private updateGitTrackedFiles; /** * Fuzzy matching for file names */ private fuzzyMatch; /** * Sort files based on criteria */ private sortFiles; /** * Calculate relevance score for file matching */ private calculateRelevanceScore; /** * Set base directory */ setBaseDirectory(dir: string): void; } //# sourceMappingURL=file-reference.d.ts.map