import { Identifiable } from '@custis/common';
import { ExpandMode, IHiddenColumn, TTableColumn, TTableRowMode } from '../models';
import { ColumnResizing, IdType, TableState } from 'react-table';
export interface GridState<T extends Identifiable, TFilter, TSorting> {
    columns: TTableColumn<T, TFilter, TSorting>[];
    subRowColumns: TTableColumn<T, TFilter, TSorting>[];
    subRowId?: number;
    columnOrder: IdType<T>[];
    hiddenColumns: IHiddenColumn<T>[];
    highlightedId: IdType<T> | undefined;
    tableState: TableState<T> | undefined;
    outerColumnResizing: ColumnResizing | undefined;
    expanded: Record<IdType<T>, boolean>;
    expandedAllMode: ExpandMode;
    tableRowMode: TTableRowMode;
    pageCount: number;
}
export declare class GridStateStore<T extends Identifiable, TFilter, TSorting> implements GridState<T, TFilter, TSorting> {
    columnOrder: IdType<T>[];
    hiddenColumns: IHiddenColumn<T>[];
    columns: TTableColumn<T, TFilter, TSorting>[];
    subRowColumns: TTableColumn<T, TFilter, TSorting>[];
    subRowId: undefined;
    highlightedId: IdType<T> | undefined;
    tableState: TableState<T> | undefined;
    expanded: Record<IdType<T>, boolean>;
    outerColumnResizing: ColumnResizing | undefined;
    tableRowMode: TTableRowMode;
    pageCount: number;
    expandedAllMode: ExpandMode;
    constructor();
}
