import type Grid from '../Grid'; import type { GridMetricCalculator } from '../GridMetricCalculator'; import type GridModel from '../GridModel'; import { type EventHandlerResult } from '../EventHandlerResult'; import { type ModelIndex, type VisibleIndex } from '../GridMetrics'; import type GridMetrics from '../GridMetrics'; import GridMouseHandler from '../GridMouseHandler'; import type { GridTheme } from '../GridTheme'; import type { GridPoint } from '../GridUtils'; export type PointProperty = 'x' | 'y'; export type UserSizeProperty = 'userRowHeights' | 'userColumnWidths'; export type VisibleOffsetProperty = 'visibleRowYs' | 'visibleColumnXs'; export type VisibleSizeProperty = 'visibleRowHeights' | 'visibleColumnWidths'; export type MarginProperty = 'columnHeaderHeight' | 'rowHeaderWidth'; export type CalculatedSizeProperty = 'calculatedRowHeights' | 'calculatedColumnWidths'; export type InitialSizeProperty = 'initialRowHeights' | 'initialColumnWidths'; export type ModelIndexesProperty = 'modelRows' | 'modelColumns'; export type FirstIndexProperty = 'firstRow' | 'firstColumn'; export type TreePaddingProperty = 'treePaddingX' | 'treePaddingY'; export interface GridSeparator { index: VisibleIndex; depth: number; } /** * Abstract class that should be extended for column/row behaviour * Override the necessary functions/properties */ declare abstract class GridSeparatorMouseHandler extends GridMouseHandler { protected draggingIndex?: VisibleIndex; protected resizingItems: VisibleIndex[]; protected hiddenItems: VisibleIndex[]; protected targetSizes: Map; protected dragOffset: number; abstract hiddenCursor: string; abstract defaultCursor: string; abstract pointProperty: PointProperty; abstract userSizesProperty: UserSizeProperty; abstract visibleOffsetProperty: VisibleOffsetProperty; abstract visibleSizesProperty: VisibleSizeProperty; abstract marginProperty: MarginProperty; abstract calculatedSizesProperty: CalculatedSizeProperty; abstract initialSizesProperty: InitialSizeProperty; abstract modelIndexesProperty: ModelIndexesProperty; abstract firstIndexProperty: FirstIndexProperty; abstract treePaddingProperty: TreePaddingProperty; abstract getHiddenItems(itemIndex: VisibleIndex, metrics: GridMetrics): VisibleIndex[]; abstract getNextShownItem(itemIndex: VisibleIndex, metrics: GridMetrics): VisibleIndex | null; abstract setSize(metricCalculator: GridMetricCalculator, modelIndex: ModelIndex, size: number): void; abstract resetSize(metricCalculator: GridMetricCalculator, modelIndex: ModelIndex): void; abstract updateSeparator(grid: Grid, separator: GridSeparator | null): void; abstract getSeparator(gridPoint: GridPoint, metrics: GridMetrics, model: GridModel, theme: GridTheme): GridSeparator | null; onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult; onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult; onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult; onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult; onDoubleClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult; updateCursor(metrics: GridMetrics, itemIndex: VisibleIndex): void; addTargetSize(metrics: GridMetrics, itemIndex: VisibleIndex): void; removeTargetSize(metrics: GridMetrics, itemIndex: VisibleIndex): void; } export default GridSeparatorMouseHandler; //# sourceMappingURL=GridSeparatorMouseHandler.d.ts.map