{"version":3,"file":"DiffHunksRenderer.d.ts","names":["ElementContent","Element","HASTElement","Properties","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 { 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    private createAnnotationElement;\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 pushFileLevelAnnotations;\n    private getAnnotations;\n    private renderHeader;\n}\n//# sourceMappingURL=DiffHunksRenderer.d.ts.map"],"mappings":"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"}