import { BaseCodeOptions, FileContents, LineAnnotation, RenderFileMetadata, ThemeTypes } from "../types.js"; import { LineSelectionOptions, SelectedLineRange } from "../managers/LineSelectionManager.js"; import { GetHoveredLineResult, MouseEventManagerBaseOptions } from "../managers/MouseEventManager.js"; import { WorkerPoolManager } from "../worker/WorkerPoolManager.js"; import "../worker/index.js"; //#region src/components/File.d.ts interface FileRenderProps { file: FileContents; fileContainer?: HTMLElement; containerWrapper?: HTMLElement; forceRender?: boolean; lineAnnotations?: LineAnnotation[]; } interface FileHyrdateProps extends Omit, "fileContainer"> { fileContainer: HTMLElement; prerenderedHTML?: string; } interface FileOptions extends BaseCodeOptions, MouseEventManagerBaseOptions<"file">, LineSelectionOptions { disableFileHeader?: boolean; renderCustomMetadata?: RenderFileMetadata; renderAnnotation?(annotation: LineAnnotation): HTMLElement | undefined; renderHoverUtility?(getHoveredRow: () => GetHoveredLineResult<"file"> | undefined): HTMLElement | null; } declare class File { options: FileOptions; private workerManager?; private isContainerManaged; static LoadedCustomComponent: boolean; readonly __id: number; private fileContainer; private spriteSVG; private pre; private code; private unsafeCSSStyle; private hoverContent; private errorWrapper; private headerElement; private headerMetadata; private fileRenderer; private resizeManager; private mouseEventManager; private lineSelectionManager; private virtualizationManager; private annotationElements; private lineAnnotations; private file; constructor(options?: FileOptions, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean); private handleHighlightRender; rerender(): void; setOptions(options: FileOptions | undefined): void; private mergeOptions; setThemeType(themeType: ThemeTypes): void; getHoveredLine: () => GetHoveredLineResult<"file"> | undefined; setLineAnnotations(lineAnnotations: LineAnnotation[]): void; setSelectedLines(range: SelectedLineRange | null): void; cleanUp(): void; hydrate(props: FileHyrdateProps): void; render({ file, fileContainer, forceRender, containerWrapper, lineAnnotations }: FileRenderProps): void; private renderAnnotations; private renderHoverUtility; private injectUnsafeCSS; private applyHunksToDOM; private applyHeaderToDOM; private getOrCreateFileContainerNode; private getOrCreatePreNode; private applyPreNodeAttributes; private applyErrorToDOM; private cleanupErrorWrapper; } //#endregion export { File, FileHyrdateProps, FileOptions, FileRenderProps }; //# sourceMappingURL=File.d.ts.map