import { GridState } from './GridState';
import { VariableSizeGrid } from 'react-window';
import { CSSProperties } from 'react';
export interface ReactWindowGridRef extends VariableSizeGrid {
    readonly state: {
        readonly scrollTop: number;
    };
    _getVerticalRangeToRender(): number[];
    _getHorizontalRangeToRender(): number[];
    _getItemStyle(rowIndex: number, columnIndex: number): CSSProperties;
    _getItemStyleCache(...args: any[]): unknown;
}
export interface VirtualGridRepeaterStateParams {
    gridState: GridState;
}
export declare class VirtualGridRepeaterState {
    readonly gridState: GridState;
    gridRef?: ReactWindowGridRef | null;
    scrollHeight?: number | string | null;
    innerElement?: HTMLElement | null;
    constructor(params: VirtualGridRepeaterStateParams);
    get height(): number;
    get width(): number;
    get calcGridProps(): {
        columnCount: number;
        columnWidth: (index: number) => number;
        columnWidthIncludingGap: (index: number) => number;
        rowHeight?: ((index: number) => number) | undefined;
        rowHeightIncludingGap: (props: {
            index: number;
            key: string | number;
        }) => number;
        estimatedRowHeight?: number | undefined;
        overscanCount: number;
    };
    get rowCount(): number;
    _itemKeyRecycler: (index: number) => string | number;
    get itemKeyRecycler(): ({ rowIndex, columnIndex, }: {
        columnIndex: number;
        rowIndex: number;
    }) => string | number;
    init({ container: scrollableContainer }: {
        container?: HTMLElement | null;
    }): (() => void) | undefined;
}
//# sourceMappingURL=VirtualGridRepeaterState.d.ts.map