import { Identifiable, OptionData } from '@custis/common';
import { ExpandMode, TTableColumn, TTableRowMode } from '../models';
import { IdType } from 'react-table';
export declare class GridStateStore<T extends Identifiable, TFilter, TSorting> {
    subRowColumns: TTableColumn<T, TFilter, TSorting>[];
    subRowId: string | undefined | number;
    highlightedId: string | undefined;
    expanded: Record<IdType<T>, boolean>;
    tableRowMode: TTableRowMode;
    pageCount: number;
    expandedAllMode: ExpandMode;
    isLoading: boolean;
    scrollLeft: number;
    selectedItemsKeys: Record<IdType<T>, boolean>;
    stateRestored: boolean;
    newRowData?: Partial<T>;
    editRowData?: Partial<T>;
    highlightedCells: OptionData[];
    constructor();
    setSubRowColumns(value: TTableColumn<T, TFilter, TSorting>[]): void;
    setSubRowId(value: string | undefined | number): void;
    setHighlightedId(value: string | undefined): void;
    setExpanded(value: Record<IdType<T>, boolean>): void;
    setTableRowMode(value: TTableRowMode): void;
    setPageCount(value: number): void;
    setExpandedAllMode(value: ExpandMode): void;
    setIsLoading(value: boolean): void;
    setScrollLeft(value: number): void;
    setSelectedItemsKeys(value: Record<IdType<T>, boolean>): void;
    setStateRestored(value: boolean): void;
    setNewRowData(value: Partial<T> | undefined): void;
    setEditRowData(value: Partial<T> | undefined): void;
    setHighlightedCells(value: OptionData[]): void;
    reset(): void;
}
