import type { SimpleBBox } from '@antv/g-canvas'; import type { InteractionStateName, CellTypes, InterceptType, ScrollbarPositionType } from '../constant'; import type { BaseCell, ColCell, CornerCell, DataCell, MergedCell, RowCell } from '../../cell'; import type { HeaderCell } from '../../cell/header-cell'; import type { Node } from '../../facet/layout/node'; import type { BaseEvent } from '../../interaction/base-event'; import type { SpreadSheet } from '../../sheet-type'; import type { ResizeActiveOptions } from './resize'; import type { ViewMeta } from './basic'; export declare type S2CellType = DataCell | HeaderCell | ColCell | CornerCell | RowCell | MergedCell | BaseCell; export interface CellMeta { id: string; colIndex: number; rowIndex: number; type: CellTypes; [key: string]: unknown; } export interface InteractionStateInfo { stateName?: InteractionStateName; cells?: CellMeta[]; interactedCells?: S2CellType[]; nodes?: Node[]; force?: boolean; } export interface SelectHeaderCellInfo { cell: S2CellType; isMultiSelection?: boolean; } export declare type InteractionConstructor = new (spreadsheet: SpreadSheet) => BaseEvent; export interface CustomInteraction { key: string; interaction: InteractionConstructor; } export interface BrushPoint { rowIndex: number; colIndex: number; x: number; y: number; scrollX?: number; scrollY?: number; } export interface BrushRange { start: BrushPoint; end: BrushPoint; width: number; height: number; } export declare type StateShapeLayer = 'interactiveBgShape' | 'interactiveBorderShape'; export declare type Intercept = InterceptType.HOVER | InterceptType.CLICK | InterceptType.BRUSH_SELECTION | InterceptType.MULTI_SELECTION | InterceptType.RESIZE; export interface BrushAutoScrollConfigItem { value: number; scroll: boolean; } export interface BrushAutoScrollConfig { x: BrushAutoScrollConfigItem; y: BrushAutoScrollConfigItem; } export interface ScrollSpeedRatio { horizontal?: number; vertical?: number; } export interface HoverFocusOptions { duration?: number; } export interface InteractionOptions { linkFields?: string[]; selectedCellsSpotlight?: boolean; hoverHighlight?: boolean; hoverFocus?: boolean | HoverFocusOptions; enableCopy?: boolean; copyWithFormat?: boolean; autoResetSheetStyle?: boolean; hiddenColumnFields?: string[]; scrollSpeedRatio?: ScrollSpeedRatio; resize?: boolean | ResizeActiveOptions; brushSelection?: boolean; multiSelection?: boolean; rangeSelection?: boolean; selectedCellMove?: boolean; scrollbarPosition?: ScrollbarPositionType; eventListenerOptions?: boolean | AddEventListenerOptions; selectedCellHighlight?: boolean; overscrollBehavior?: 'auto' | 'none' | 'contain'; /** ***********CUSTOM INTERACTION HOOKS**************** */ customInteractions?: CustomInteraction[]; }