import { ExpansionDirections, VirtualFileMetrics } from "../types.js";
import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
import "../worker/index.js";
import { Virtualizer } from "./Virtualizer.js";
import { FileDiff, FileDiffOptions, FileDiffRenderProps } from "./FileDiff.js";

//#region src/components/VirtualizedFileDiff.d.ts
declare class VirtualizedFileDiff<LAnnotation = undefined> extends FileDiff<LAnnotation> {
  readonly __id: string;
  top: number | undefined;
  height: number;
  private metrics;
  private heightCache;
  private isVisible;
  private isSetup;
  private virtualizer;
  constructor(options: FileDiffOptions<LAnnotation> | undefined, virtualizer: Virtualizer, metrics?: Partial<VirtualFileMetrics>, workerManager?: WorkerPoolManager, isContainerManaged?: boolean);
  private getLineHeight;
  setOptions(options: FileDiffOptions<LAnnotation> | undefined): void;
  reconcileHeights(): void;
  onRender: (dirty: boolean) => boolean;
  cleanUp(): void;
  expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number | undefined) => void;
  setVisibility(visible: boolean): void;
  private computeApproximateSize;
  render({
    fileContainer,
    oldFile,
    newFile,
    fileDiff,
    ...props
  }?: FileDiffRenderProps<LAnnotation>): boolean;
  private getDiffStyle;
  private getExpandedRegion;
  private getExpandedLineCount;
  private computeRenderRangeFromWindow;
}
//#endregion
export { VirtualizedFileDiff };
//# sourceMappingURL=VirtualizedFileDiff.d.ts.map