export interface DiffSegment { type: 'added' | 'removed' | 'context'; lineNumber: number; content: string; } /** * Result from building a diff with context lines */ export interface DiffWithContext { segments: DiffSegment[]; additions: number; removals: number; } export declare function buildDiffSegments(previous: string, next: string): DiffSegment[]; /** * Fast in-memory diff algorithm - no git spawning, no temp files. * Uses efficient line-by-line comparison with context tracking. * ~10x faster than git-based diff for typical edits. */ export declare function buildDiffSegmentsFast(previous: string, next: string): DiffSegment[]; /** * Format diff lines with + and - prefixes for added/removed lines. * Supports context lines (unchanged lines around changes). */ export declare function formatDiffLines(diff: DiffSegment[], useColors?: boolean): string[]; /** * Format diff in Claude Code style with proper indentation and line wrapping. * Shows line numbers in margin with +/- symbols for changes. * Long lines are wrapped with continuation markers, but the default width is * deliberately generous so single logical lines don't look like multiple edits. * * Example output: * 1832 + /** * + * Show a compacting * + status with animated */ export declare function formatDiffClaudeStyle(diff: DiffSegment[], useColors?: boolean, maxLineWidth?: number): string[]; /** * Build a diff with context lines around changes (AGI CLI style). * Shows N lines before and after each change, with ... truncation for gaps. */ export declare function buildDiffWithContext(previous: string, next: string, contextLines?: number): DiffWithContext; //# sourceMappingURL=diffUtils.d.ts.map