import { SizeStrategy } from '../../inputs/index';
interface ItemSize {
  size: number;
  newSize?: number;
}
export declare class SizesRecalculation {
  newItems: ItemSize[];
  oldItems: ItemSize[];
  removed: ItemSize[];
  constructor();
  reset(): void;
}
export declare class DefaultSize {
  private readonly itemSize;
  private readonly sizeStrategy;
  private sizeMap;
  private recalculation;
  private constantSize;
  private frequentSize;
  private averageSize;
  private averageSizeFloat;
  constructor(itemSize: number, sizeStrategy: SizeStrategy);
  reset(force: boolean): void;
  get(): number;
  private recalculateAverageSize;
  private recalculateFrequentSize;
  recalculate(cacheSize: number): boolean;
  setExisted(oldSize: number, newSize: number): void;
  setNew(size: number): void;
  setRemoved(size: number): void;
}
export {};
