/** * Git diff generation utilities */ import { type FileStatus, type MergeStateInfo } from './types.js'; /** * Generate a synthetic unified diff for an untracked (new) file * This is needed because `git diff HEAD` doesn't include untracked files * * If the path is a directory, this will recursively generate diffs for all files inside */ export declare function generateSyntheticDiffForNewFile(basePath: string, relativePath: string): Promise; /** * Generate synthetic diffs for all untracked files and combine with existing diff */ export declare function appendUntrackedFileDiffs(basePath: string, existingDiff: string, files: Array<{ status: string; path: string; }>): Promise; /** * List all files in a directory recursively (for non-git repositories) * Excludes hidden files/folders and common build artifacts */ export declare function listAllFilesInDirectory(basePath: string, relativePath?: string): Promise; /** * Generate diffs for all files in a non-git directory * Treats all files as "new" files */ export declare function generateDiffsForNonGitDirectory(basePath: string): Promise<{ diff: string; files: FileStatus[]; }>; /** * Get git repository diffs for a given path * Handles both git repos and non-git directories. * Also detects merge state and annotates files accordingly. */ export declare function getGitRepositoryDiffs(repoPath: string): Promise<{ diff: string; files: FileStatus[]; hasChanges: boolean; mergeState?: MergeStateInfo; }>; //# sourceMappingURL=diff.d.ts.map