import { Group, type LineStyleProps } from '@antv/g'; import type { DataCell } from '../cell'; import type { S2BaseFrozenOptions, SplitLine } from '../common'; import type { FrozenGroups } from '../common/interface/frozen'; import type { SimpleBBox } from '../engine'; import type { Indexes, PanelIndexes } from '../utils/indexes'; import { BaseFacet } from './base-facet'; /** * Defines the row freeze abstract standard interface */ export declare abstract class FrozenFacet extends BaseFacet { rowOffsets: number[]; frozenGroups: FrozenGroups; frozenGroupAreas: { frozenCol: { width: number; x: number; range: number[]; }; frozenTrailingCol: { width: number; x: number; range: number[]; }; frozenRow: { height: number; y: number; range: number[]; }; frozenTrailingRow: { height: number; y: number; range: number[]; }; }; protected validFrozenOptions: Required; panelScrollGroupIndexes: Indexes; protected initPanelGroups(): void; /** * 获取冻结数量结果,主要是针对 col top level 的结果 */ getFrozenOptions(): Required; calculateFrozenGroupInfo(): void; protected getFinalViewport(): SimpleBBox; calculateXYIndexes(scrollX: number, scrollY: number): PanelIndexes; addDataCell: (cell: DataCell) => void; addFrozenCell: (colIndex: number, rowIndex: number, group: Group) => void; protected updateFrozenGroupGrid(): void; updatePanelScrollGroup(): void; protected translateRelatedGroups(scrollX: number, scrollY: number, hRowScroll: number): void; protected translateFrozenGroups: () => void; protected renderRowResizeArea(): void; protected renderFrozenGroupSplitLine: (scrollX: number, scrollY: number) => void; protected getFrozenColSplitLineSize(): { y: number; height: number; }; protected renderFrozenColSplitLine(splitLineGroup: Group, splitLine: SplitLine, verticalBorderStyle: Partial, scrollX: number): void; protected renderFrozenTrailingColSplitLine(splitLineGroup: Group, splitLine: SplitLine, verticalBorderStyle: Partial, scrollX: number): void; protected getFrozenRowSplitLineSize(): { x: number; width: number; }; protected renderFrozenRowSplitLine(splitLineGroup: Group, splitLine: SplitLine, horizontalBorderStyle: Partial, scrollY: number): void; protected renderFrozenTrailingRowSplitLine(splitLineGroup: Group, splitLine: SplitLine, horizontalBorderStyle: Partial, scrollY: number): void; render(): void; protected getCenterFrameScrollX(scrollX: number): number; protected renderFrozenPanelCornerGroup: () => void; getTotalHeightForRange: (start: number, end: number) => number; protected getDefaultCellHeight(): number; protected getShadowFill: (angle: number) => string; private createOrUpdate; protected clip(): void; }