import { RecordBounds, RecordPager, VirtualScrollMode } from '../../types/types';
/** @internal */
export declare class Scroller implements RecordPager {
    private scrollListener;
    private scrollPane;
    private resizer;
    private resizeTimer;
    private scrollTimer;
    element: HTMLAnjScrollerElement;
    height: number;
    overflowX: boolean;
    width: number;
    /**
     * Time to debounce programmatic scrolling
     */
    delay: number;
    /**
     * Enables virtual scroll
     * Possible values are: `"vertical"`, and `"none"`. Default is "none"
     */
    mode: VirtualScrollMode;
    page: number;
    range: RecordBounds;
    size: number;
    /**
     * The total (known) number of records
     */
    total: number;
    onTotalChange(): void;
    connectedCallback(): void;
    componentDidRender(): void;
    disconnectedCallback(): void;
    onResize(): void;
    doResize(): Promise<unknown>;
    debouncedScrollTo(x: number, y: number): Promise<void>;
    private calculateHeight;
    private calculateRange;
    private onScroll;
    render(): any;
}
