export declare enum FileEntryType { FILE = "file", DIRECTORY = "directory", SYMLINK = "symlink" } export type ChangeStatus = 'new' | 'modified' | 'unchanged' | 'deleted'; export interface FileEntry { path: string; relativePath: string; type: FileEntryType; size: number; extension: string; lastModified: Date; isIgnored: boolean; detectedType?: string; changeStatus?: ChangeStatus; contentHash?: string; } export interface ScanOptions { rootPath: string; maxDepth?: number; maxFiles?: number; maxFileSize?: number; includeHidden?: boolean; followSymlinks?: boolean; includePatterns?: string[]; excludePatterns?: string[]; respectGitignore?: boolean; readContents?: boolean; allowedExtensions?: string[]; excludedExtensions?: string[]; force?: boolean; since?: string; } export interface ScanResult { rootPath: string; projectPath: string; files: FileEntry[]; totalFiles: number; totalSize: number; totalDirectories: number; ignoredFiles: number; directoryTree: DirectoryNode; languages: LanguageInfo[]; languageDistribution: Map; scanDuration: number; warnings: string[]; metadata: Record; deltaAnalysis?: DeltaAnalysisMetadata; } export interface DeltaAnalysisMetadata { enabled: boolean; baseCommit?: string; changedFiles: number; newFiles: number; deletedFiles: number; unchangedFiles: number; estimatedTokensSaved?: number; detectionMethod: 'git' | 'hash' | 'none'; } export interface LanguageInfo { language: string; framework?: string; fileCount: number; percentage: number; confidence: number; } export interface DirectoryNode { name: string; path: string; children: DirectoryNode[]; files: FileEntry[]; totalSize: number; fileCount: number; } export interface GitInfo { isGitRepo: boolean; currentBranch?: string; remoteUrl?: string; lastCommit?: string; totalCommits?: number; tags?: string[]; contributors?: GitContributor[]; gitignorePatterns?: string[]; } export interface GitContributor { name: string; email: string; commits: number; additions?: number; deletions?: number; } export type ScanProgressCallback = (progress: { currentFile: string; processedFiles: number; totalFiles: number; percentage: number; phase: 'discovering' | 'analyzing' | 'filtering' | 'complete'; }) => void; //# sourceMappingURL=scanner.types.d.ts.map