export type CreateRowCallback = (nodeId: number) => HTMLElement;
export type VirtualizedListProps = {
    parentElement: HTMLElement;
    createRow: CreateRowCallback;
};
export declare class VirtualizedList {
    element: HTMLElement;
    list: number[];
    private parentElement;
    private rowHeight;
    private screenItemsLen;
    private maxItemsLength;
    private maxBuffer;
    private lastRepaintY;
    private refresh;
    private createRow;
    constructor(params: VirtualizedListProps);
    private getContentHeight;
    private updateContentHeight;
    private renderFrom;
    private repaintScroller;
    private cleanup;
    add: (params: {
        ids: number[];
        startId?: number;
    }) => void;
    remove: (ids: number[]) => void;
    refreshList: () => Promise<void>;
    scrollTo: (nodeId: number) => void;
    reset: () => void;
    getIdsBetween: (idOne: number, idTwo: number) => number[];
    hasId: (id: number) => boolean;
    getRowElement(rowNodeId: number): HTMLElement | null;
}
