{"version":3,"file":"DiffHunksRenderer.d.ts","names":["ElementContent","Element","HASTElement","Properties","AnnotationSpan","BaseDiffOptions","BaseDiffOptionsWithDefaults","CustomPreProperties","DiffLineAnnotation","ExpansionDirections","FileDiffMetadata","HunkData","HunkExpansionRegion","LineTypes","RenderDiffOptions","RenderRange","ThemedDiffResult","ThemeTypes","DiffLineMetadata","WorkerPoolManager","UnifiedLineDecorationProps","SplitLineDecorationProps","LineDecoration","RenderedLineContext","InjectedRow","SplitInjectedRow","UnifiedInjectedRowPlacement","SplitInjectedRowPlacement","HunksRenderResult","DiffHunksRenderer","LAnnotation","Map","lineType","side","type","Promise"],"sources":["../../src/renderers/DiffHunksRenderer.d.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement, Properties } from 'hast';\nimport type { AnnotationSpan, BaseDiffOptions, BaseDiffOptionsWithDefaults, CustomPreProperties, DiffLineAnnotation, ExpansionDirections, FileDiffMetadata, HunkData, HunkExpansionRegion, LineTypes, RenderDiffOptions, RenderRange, ThemedDiffResult, ThemeTypes } from '../types';\nimport type { DiffLineMetadata } from '../utils/iterateOverDiff';\nimport type { WorkerPoolManager } from '../worker';\nexport interface UnifiedLineDecorationProps {\n type: 'context' | 'context-expanded' | 'change';\n lineType: LineTypes;\n additionLineIndex: number | undefined;\n deletionLineIndex: number | undefined;\n}\nexport interface SplitLineDecorationProps {\n side: 'deletions' | 'additions';\n type: 'context' | 'context-expanded' | 'change';\n lineIndex: number | undefined;\n}\nexport interface LineDecoration {\n gutterLineType: LineTypes;\n gutterProperties?: Properties;\n contentProperties?: Properties;\n}\nexport interface RenderedLineContext {\n type: 'context' | 'context-expanded' | 'change';\n hunkIndex: number;\n lineIndex: number;\n unifiedLineIndex: number;\n splitLineIndex: number;\n deletionLine?: DiffLineMetadata;\n additionLine?: DiffLineMetadata;\n}\nexport interface InjectedRow {\n content: HASTElement;\n gutter: HASTElement;\n}\nexport interface SplitInjectedRow {\n deletion: InjectedRow | undefined;\n addition: InjectedRow | undefined;\n}\nexport interface UnifiedInjectedRowPlacement {\n before?: InjectedRow[];\n after?: InjectedRow[];\n}\nexport interface SplitInjectedRowPlacement {\n before?: SplitInjectedRow[];\n after?: SplitInjectedRow[];\n}\nexport interface HunksRenderResult {\n unifiedGutterAST: ElementContent[] | undefined;\n unifiedContentAST: ElementContent[] | undefined;\n deletionsGutterAST: ElementContent[] | undefined;\n deletionsContentAST: ElementContent[] | undefined;\n additionsGutterAST: ElementContent[] | undefined;\n additionsContentAST: ElementContent[] | undefined;\n hunkData: HunkData[];\n css: string;\n preNode: HASTElement;\n headerElement: HASTElement | undefined;\n totalLines: number;\n themeStyles: string;\n baseThemeType: 'light' | 'dark' | undefined;\n rowCount: number;\n bufferBefore: number;\n bufferAfter: number;\n}\nexport declare class DiffHunksRenderer {\n options: BaseDiffOptions;\n private onRenderUpdate?;\n private workerManager?;\n readonly __id: string;\n private highlighter;\n private diff;\n private expandedHunks;\n private deletionAnnotations;\n private additionAnnotations;\n private computedLang;\n private renderCache;\n constructor(options?: BaseDiffOptions, onRenderUpdate?: (() => unknown) | undefined, workerManager?: WorkerPoolManager | undefined);\n cleanUp(): void;\n recycle(): void;\n setOptions(options: BaseDiffOptions): void;\n private mergeOptions;\n setThemeType(themeType: ThemeTypes): void;\n expandHunk(index: number, direction: ExpansionDirections, expansionLineCount?: number): void;\n getExpandedHunk(hunkIndex: number): HunkExpansionRegion;\n getExpandedHunksMap(): Map;\n setLineAnnotations(lineAnnotations: DiffLineAnnotation[]): void;\n protected getUnifiedLineDecoration({ lineType }: UnifiedLineDecorationProps): LineDecoration;\n protected getSplitLineDecoration({ side, type }: SplitLineDecorationProps): LineDecoration;\n protected createAnnotationElement(span: AnnotationSpan): HASTElement;\n protected getUnifiedInjectedRowsForLine?: (ctx: RenderedLineContext) => UnifiedInjectedRowPlacement | undefined;\n protected getSplitInjectedRowsForLine?: (ctx: RenderedLineContext) => SplitInjectedRowPlacement | undefined;\n protected getOptionsWithDefaults(): BaseDiffOptionsWithDefaults;\n private initializeHighlighter;\n hydrate(diff: FileDiffMetadata | undefined): void;\n private getRenderOptions;\n renderDiff(diff?: FileDiffMetadata | undefined, renderRange?: RenderRange): HunksRenderResult | undefined;\n asyncRender(diff: FileDiffMetadata, renderRange?: RenderRange): Promise;\n protected createPreElement(split: boolean, totalLines: number, themeStyles: string, baseThemeType: 'light' | 'dark' | undefined, customProperties?: CustomPreProperties): HASTElement;\n private asyncHighlight;\n private renderDiffWithHighlighter;\n onHighlightSuccess(diff: FileDiffMetadata, result: ThemedDiffResult, options: RenderDiffOptions): void;\n onHighlightError(error: unknown): void;\n private processDiffResult;\n renderCodeAST(type: 'unified' | 'deletions' | 'additions', result: HunksRenderResult): ElementContent[] | undefined;\n renderFullAST(result: HunksRenderResult, children?: ElementContent[]): HASTElement;\n renderFullHTML(result: HunksRenderResult, tempChildren?: ElementContent[]): string;\n renderPartialHTML(children: ElementContent[], columnType?: 'unified' | 'deletions' | 'additions'): string;\n private getAnnotations;\n private renderHeader;\n}\n//# sourceMappingURL=DiffHunksRenderer.d.ts.map"],"mappings":"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"}