/** * File Tagging System for Context Inclusion * Handles @ symbol detection and file/directory autocomplete */ export interface FileItem { name: string; path: string; type: 'file' | 'directory'; size?: number; extension?: string; } export interface FileTaggingOptions { workingDirectory: string; maxFileSize: number; excludePatterns: string[]; includeHidden: boolean; } export declare class FileTaggingSystem { private options; private fileCache; private contentCache; constructor(options?: Partial); /** * Discover all files and directories in the working directory */ discoverFiles(): Promise; /** * Filter files based on user input */ filterFiles(query: string): Promise; /** * Read file content for context inclusion */ readFileContent(filePath: string): Promise; /** * Get directory listing as a formatted string */ private getDirectoryListing; /** * Check if a file is binary based on extension */ private isBinaryFile; /** * Format file size in human-readable format */ private formatFileSize; /** * Parse @ tags from user input */ parseFileTags(input: string): { cleanInput: string; fileTags: string[]; }; /** * Build context from tagged files */ buildFileContext(fileTags: string[]): Promise; /** * Clear caches */ clearCache(): void; /** * Update working directory and clear cache */ setWorkingDirectory(directory: string): void; } /** * Global file tagging system instance */ export declare const fileTagging: FileTaggingSystem; /** * Helper function to detect @ symbols in input */ export declare function detectFileTagging(input: string): boolean; /** * Helper function to get current @ query being typed */ export declare function getCurrentTagQuery(input: string, cursorPosition: number): string | null; //# sourceMappingURL=file-tagging.d.ts.map