import { DiffBlockData } from '../../diff-builder/common'; import { AlignedContent, LineMapping } from '../types'; /** * Marker for spacer lines. * Using multiple spaces to ensure the line renders with proper height. * The content will be hidden via CSS (color: transparent). */ export declare const SPACER_LINE = "\u00A0\u00A0\u00A0\u00A0"; /** Result of alignment process */ export interface AlignmentResult { beforeLines: string[]; afterLines: string[]; lineMap: LineMapping[]; /** Line numbers that are spacers (0-indexed) */ beforeSpacers: Set; afterSpacers: Set; } /** * Generates aligned content for side-by-side view from diff blocks. * * Uses token tags to determine which content appears on which side: * - Tokens tagged 'before' only: appear only on before side * - Tokens tagged 'after' only: appear only on after side * - Untagged tokens: appear on both sides * * @param diffBlocks - Diff block data array * @param format - Output format (for future use) * @returns Aligned content with spacer lines inserted */ export declare function generateAlignedContentFromDiff(diffBlocks: DiffBlockData[], format: "json" | "yaml", _beforeObj: unknown, _afterObj: unknown): AlignmentResult; /** * Simplified alignment for when we just need basic before/after content * without proper token-based generation. */ export declare function generateAlignedContent(beforeContent: string, afterContent: string, _diffBlocks: DiffBlockData[]): AlignmentResult; /** * Creates aligned content strings from alignment result */ export declare function alignmentToContent(alignment: AlignmentResult): AlignedContent; /** Result of unified content generation */ export interface UnifiedResult { lines: string[]; lineMap: LineMapping[]; /** For word diff mode: before content for each line (only for modified lines) */ beforeContentMap?: Map; } /** Options for unified content generation */ export interface UnifiedContentOptions { /** If true, modified lines show single line with word diff instead of remove+add */ inlineWordDiff?: boolean; } /** * Generates unified/inline content from diff blocks. * Shows both before and after content in a single view: * - Removed lines are included and marked * - Added lines are included and marked * - Modified lines: with inlineWordDiff=true shows single line, otherwise shows remove+add * * @param diffBlocks - Diff block data array * @param format - Output format (for future use) * @param options - Generation options * @returns Unified content with line mappings */ export declare function generateUnifiedContentFromDiff(diffBlocks: DiffBlockData[], format: "json" | "yaml", options?: UnifiedContentOptions): UnifiedResult;