import { Paddings } from './paddings';
import { Settings } from './settings';
import { Routines } from './domRoutines';
import { Item } from './item';
import { State } from './state';
import { Logger } from './logger';
import { Direction } from '../inputs/index';
export declare class Viewport {
  offset: number;
  paddings: Paddings;
  readonly settings: Settings;
  readonly routines: Routines;
  readonly state: State;
  readonly logger: Logger;
  constructor(settings: Settings, routines: Routines, state: State, logger: Logger);
  reset(startIndex: number): void;
  setPosition(value: number): number;
  get scrollPosition(): number;
  set scrollPosition(value: number);
  getSize(): number;
  getScrollableSize(): number;
  getMaxScrollPosition(): number;
  getBufferPadding(): number;
  getEdge(direction: Direction): number;
  setOffset(): void;
  findItemElementById(id: string): HTMLElement | null;
  getEdgeVisibleItem(items: Item[], direction: Direction): {
    item?: Item;
    index: number;
    diff: number;
  };
}
