import { FileDiffMetadata, RenderRange, RenderWindow, VirtualFileMetrics } from "../types.js";
import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
import "../worker/index.js";
import { FileDiff, FileDiffOptions } from "./FileDiff.js";

//#region src/components/AdvancedVirtualizedFileDiff.d.ts
interface RenderProps {
  fileContainer?: HTMLElement;
  renderWindow: RenderWindow;
}
interface PositionProps {
  unifiedTop: number;
  splitTop: number;
  fileDiff: FileDiffMetadata;
}
declare class AdvancedVirtualizedFileDiff<LAnnotation = undefined> extends FileDiff<LAnnotation> {
  readonly __id: string;
  unifiedTop: number;
  splitTop: number;
  unifiedHeight: number;
  splitHeight: number;
  private metrics;
  fileDiff: FileDiffMetadata;
  renderedRange: RenderRange | undefined;
  constructor({
    unifiedTop,
    splitTop,
    fileDiff
  }: PositionProps, options?: FileDiffOptions<LAnnotation>, metrics?: Partial<VirtualFileMetrics>, workerManager?: WorkerPoolManager | undefined);
  cleanUp(recycle?: boolean): void;
  private computeSize;
  virtualizedRender({
    renderWindow,
    fileContainer
  }: RenderProps): void;
  private computeRenderRangeFromWindow;
}
//#endregion
export { AdvancedVirtualizedFileDiff, type FileDiffOptions };
//# sourceMappingURL=AdvancedVirtualizedFileDiff.d.ts.map