import { BaseCodeOptions, DiffsHighlighter, FileContents, FileHeaderRenderMode, LineAnnotation, RenderFileOptions, RenderRange, ThemedFileResult } from "../types.js"; import { WorkerPoolManager } from "../worker/WorkerPoolManager.js"; import "../worker/index.js"; import { Element, ElementContent } from "hast"; //#region src/renderers/FileRenderer.d.ts interface FileRenderResult { gutterAST: ElementContent[]; contentAST: ElementContent[]; preAST: Element; headerAST: Element | undefined; css: string; totalLines: number; themeStyles: string; baseThemeType: 'light' | 'dark' | undefined; rowCount: number; bufferBefore: number; bufferAfter: number; } interface FileRendererOptions extends BaseCodeOptions { headerRenderMode?: FileHeaderRenderMode; } declare class FileRenderer { options: FileRendererOptions; private onRenderUpdate?; private workerManager?; readonly __id: string; private highlighter; private renderCache; private computedLang; private lineAnnotations; private lineCache; constructor(options?: FileRendererOptions, onRenderUpdate?: (() => unknown) | undefined, workerManager?: WorkerPoolManager | undefined); setOptions(options: FileRendererOptions): void; mergeOptions(options: Partial): void; setLineAnnotations(lineAnnotations: LineAnnotation[]): void; cleanUp(): void; recycle(): void; clearRenderCache(): void; hydrate(file: FileContents): void; private getRenderOptions; getOrCreateLineCache(file: FileContents): string[]; renderFile(file?: FileContents | undefined, renderRange?: RenderRange): FileRenderResult | undefined; asyncRender(file: FileContents, renderRange?: RenderRange): Promise; private asyncHighlight; private renderFileWithHighlighter; private processFileResult; private renderHeader; renderFullHTML(result: FileRenderResult): string; renderFullAST(result: FileRenderResult, children?: ElementContent[]): Element; renderCodeAST(result: FileRenderResult): ElementContent[]; renderPartialHTML(children: ElementContent[], includeCodeNode?: boolean): string; initializeHighlighter(): Promise; onHighlightSuccess(file: FileContents, result: ThemedFileResult, options: RenderFileOptions, highlighted?: boolean): void; private getMatchingWorkerResultCache; private hasHighlightedRenderCache; onHighlightError(error: unknown): void; private getTokenizeMaxLength; private createPreElement; } //#endregion export { FileRenderResult, FileRenderer, FileRendererOptions }; //# sourceMappingURL=FileRenderer.d.ts.map