import { DataSourceState, Groups } from '../../store/dataSource/data.store'; import { Observable, RevoGrid, Selection } from '../../interfaces'; import { ViewportStores } from '../../services/viewport.provider'; import { DimensionStores } from '../../services/dimension.provider'; import { RowDataSources } from '../../services/data.provider'; export declare type SlotType = 'content' | 'header' | 'footer'; export declare type HeaderProperties = { parent: string; colData: RevoGrid.ColumnRegular[]; dimensionCol: Observable; groups: Groups; groupingDepth: number; onHeaderResize?(e: CustomEvent): void; }; export interface ViewportColumn { colType: RevoGrid.DimensionCols; position: Selection.Cell; contentHeight: number; uuid: string; fixWidth?: boolean; viewports: ViewportStores; dimensions: DimensionStores; rowStores: RowDataSources; colStore: Observable>; onHeaderResize?(e: CustomEvent): void; onResizeViewport?(e: CustomEvent): void; } export declare type ViewportData = { /** Last cell in data viewport. Indicates borders of viewport */ lastCell: Selection.Cell; /** Viewport data position. Position provides connection between independent data stores and Selection store. */ position: Selection.Cell; colData: Observable>; dataStore: Observable>; /** Stores to pass dimension data for render */ dimensionRow: Observable; dimensionCol: Observable; /** We use this store to define is rgRow selected */ rowSelectionStore: Observable; /** Selection connection */ segmentSelectionStore: Observable; /** Cols dataset */ viewportCol: Observable; /** Rows dataset */ viewportRow: Observable; /** Slot to put data */ slot: SlotType; /** Current grid uniq Id */ uuid: string; type: RevoGrid.DimensionRows; canDrag?: boolean; style?: { [key: string]: string; }; onUnregister?(): void; onSetRange?(e: CustomEvent): void; onSetTempRange?(e: CustomEvent): void; onFocusCell?(e: CustomEvent<{ focus: Selection.Cell; end: Selection.Cell; }>): void; }; export declare type ViewportProps = { prop: Record; position: Selection.Cell; /** Cols dataset */ viewportCol: Observable; /** header container props */ headerProp: Record; /** parent selector link */ parent: string; /** viewport rows */ dataPorts: ViewportData[]; columnSelectionStore: Observable; };