import type { PointLike } from '@antv/g';
import type { DataCell } from '../../cell/data-cell';
import type { BrushRange, CellMeta, ViewMeta } from '../../common/interface';
import { BaseBrushSelection } from './base-brush-selection';
export declare class DataCellBrushSelection extends BaseBrushSelection {
    displayedCells: DataCell[];
    brushRangeCells: DataCell[];
    protected bindMouseDown(): void;
    protected bindMouseMove(): void;
    protected isInBrushRange(meta: ViewMeta): boolean;
    getSelectedCellMetas: (brushRange: BrushRange) => CellMeta[];
    protected updateSelectedCells(event: MouseEvent): void;
    /**
     * @name 获取刷选 (含滚动后不再可视范围内) 的单元格
     * @description DataCell 存在滚动刷选, 由于按需加载的特性, 非可视范围内的单元格已被注销
     * 如果在可视范围, 直接返回 DataCell, 非可视范围, 由于实例已被销毁, 构造实例后返回
     */
    private getScrollBrushRangeCells;
    protected bindMouseUp(): void;
    protected getPrepareSelectMaskPosition(brushRange: BrushRange): PointLike;
}
