{"version":3,"file":"DiffHunksRenderer.d.ts","names":["ElementContent","Element","HASTElement","Properties","AnnotationSpan","BaseDiffOptions","BaseDiffOptionsWithDefaults","CustomPreProperties","DiffLineAnnotation","ExpansionDirections","FileDiffMetadata","FileHeaderRenderMode","HunkData","HunkExpansionRegion","LineTypes","RenderDiffOptions","RenderRange","ThemedDiffResult","DiffLineMetadata","WorkerPoolManager","DiffHunksRendererOptions","DiffHunksRendererOptionsWithDefaults","Omit","UnifiedLineDecorationProps","SplitLineDecorationProps","LineDecoration","RenderedLineContext","InjectedRow","SplitInjectedRow","UnifiedInjectedRowPlacement","SplitInjectedRowPlacement","HunksRenderResult","DiffHunksRenderer","LAnnotation","Partial","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, FileHeaderRenderMode, HunkData, HunkExpansionRegion, LineTypes, RenderDiffOptions, RenderRange, ThemedDiffResult } from '../types';\nimport type { DiffLineMetadata } from '../utils/iterateOverDiff';\nimport type { WorkerPoolManager } from '../worker';\nexport interface DiffHunksRendererOptions extends BaseDiffOptions {\n    headerRenderMode?: FileHeaderRenderMode;\n}\nexport interface DiffHunksRendererOptionsWithDefaults extends Omit<BaseDiffOptionsWithDefaults, 'themeType'> {\n    headerRenderMode: FileHeaderRenderMode;\n}\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<LAnnotation = undefined> {\n    options: DiffHunksRendererOptions;\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?: DiffHunksRendererOptions, onRenderUpdate?: (() => unknown) | undefined, workerManager?: WorkerPoolManager | undefined);\n    cleanUp(): void;\n    recycle(): void;\n    clearRenderCache(): void;\n    setOptions(options: DiffHunksRendererOptions): void;\n    mergeOptions(options: Partial<DiffHunksRendererOptions>): void;\n    expandHunk(index: number, direction: ExpansionDirections, expansionLineCount?: number): void;\n    getExpandedHunk(hunkIndex: number): HunkExpansionRegion;\n    getExpandedHunksMap(): Map<number, HunkExpansionRegion>;\n    setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): 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(): DiffHunksRendererOptionsWithDefaults;\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<HunksRenderResult>;\n    protected createPreElement(split: boolean, totalLines: number, customProperties?: CustomPreProperties): HASTElement;\n    private asyncHighlight;\n    private renderDiffWithHighlighter;\n    onHighlightSuccess(diff: FileDiffMetadata, result: ThemedDiffResult, options: RenderDiffOptions, highlighted?: boolean): void;\n    private getMatchingWorkerResultCache;\n    private hasHighlightedRenderCache;\n    onHighlightError(error: unknown): void;\n    private getTokenizeMaxLength;\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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"}