import { ActiveSource, ReactiveFn } from 'instigator'; import { ColumnBoundary } from './gridGeometry'; import { ScrollbarExtent, ScrollbarPosition } from './scrollbarGeometry'; import { AllSelectionStates } from './selectionState/selectionStateFactory'; import { CellCoordBounds, SelectRange } from './selectionState/selectionTypes'; import { ColumnDef, Coord, DataRow, Size } from './types'; export declare const refEquals: (a: T, b: T) => boolean; export declare const shallowEqualsExceptFunctions: (a: any, b: any) => boolean; export declare class GridState { columns: ActiveSource; data: ActiveSource>>; rowHeight: ActiveSource; borderWidth: ActiveSource; frozenRows: ActiveSource; frozenCols: ActiveSource; shouldAllowAutofill: ActiveSource<(selectRange: SelectRange) => boolean>; dpr: ActiveSource; rootSize: ActiveSource; gridOffsetRaw: ActiveSource; selectionState: ActiveSource; hoveredScrollbar: ActiveSource<'x' | 'y' | null>; autofillHandleIsHovered: ActiveSource; gridOffset: ReactiveFn; visibleRect: ReactiveFn; columnBoundaries: ReactiveFn; gridInnerSize: ReactiveFn; gridSize: ReactiveFn; cellBounds: ReactiveFn; canvasSize: ReactiveFn; frozenColsWidth: ReactiveFn; frozenRowsHeight: ReactiveFn; horizontalScrollbarLength: ReactiveFn; verticalScrollbarLength: ReactiveFn; horizontalScrollbarExtent: ReactiveFn; verticalScrollbarExtent: ReactiveFn; horizontalScrollbarPos: ReactiveFn; verticalScrollbarPos: ReactiveFn; horizontalGutterBounds: ReactiveFn; verticalGutterBounds: ReactiveFn; cursorType: ReactiveFn<'crosshair' | 'default'>; constructor(columns: ColumnDef[], data: Array>, rowHeight: number, borderWidth: number, frozenRows: number, frozenCols: number, shouldAllowAutofill: (selectRange: SelectRange) => boolean); }