import { FiltersMap, KeyedItem } from '@wix/bex-core';
import { ToolbarCollectionState } from './ToolbarCollectionState';
import { ReactWindowGridRef } from '../components/VirtualGridRepeater/VirtualGridRepeaterState';
export interface TableVirtualStateParams<K extends KeyedItem<any>, T, F extends FiltersMap> {
    readonly table: {
        keyedItems: K[];
        toolbar: ToolbarCollectionState<T, F>;
    };
    getVirtualItemKey?: (item: K) => string;
}
type InferItem<K> = K extends KeyedItem<infer T> ? T : never;
export declare class TableVirtualState<K extends KeyedItem<any>, T, F extends FiltersMap> {
    gridRef?: ReactWindowGridRef | null;
    readonly table: {
        keyedItems: K[];
        toolbar: ToolbarCollectionState<T, F>;
    };
    readonly getVirtualItemKey: ((item: K) => string) | undefined;
    gap: number;
    rowHeight?: number | ((item: InferItem<K>, index: number) => number);
    estimatedRowHeight?: number;
    rowHeights: Record<string | number, number>;
    get container(): import("@wix/bex-core").WixPatternsContainer;
    constructor(params: TableVirtualStateParams<K, T, F>);
    get forceRenderIndexes(): number[] | undefined;
    init(): () => void;
    setVariableRowHeight: ({ size, key, }: {
        size: number;
        key: number | string;
    }) => void;
    get toolbar(): ToolbarCollectionState<T, F>;
    get itemsContentWidth(): number;
    get itemKeyRecyclerOverride(): (index: number) => string;
    get itemsToRenderCount(): number;
    get rowHeightFunc(): ((index: number) => number) | undefined;
    get calcGridProps(): {
        columnCount: number;
        width: number;
        columnWidth: () => number;
        columnWidthIncludingGap: () => number;
        rowHeight: ((index: number) => number) | undefined;
        rowHeightIncludingGap: ({ index, key, }: {
            index: number;
            key: number | string;
        }) => number;
        estimatedRowHeight: number | undefined;
        overscanCount: number;
    };
}
export {};
//# sourceMappingURL=TableVirtualState.d.ts.map