import { CellCtrl, RowRenderer, DragService, Component, MouseEventService, ColumnModel, CellNavigationService, CellRange, RowPosition, CellPosition, ISelectionHandle, RowPositionUtils, SelectionHandleType, NavigationService, CtrlsService, CellPositionUtils } from "ag-grid-community";
import { RangeService } from "./rangeService";
export declare abstract class AbstractSelectionHandle extends Component implements ISelectionHandle {
    protected rowRenderer: RowRenderer;
    protected dragService: DragService;
    protected rangeService: RangeService;
    protected mouseEventService: MouseEventService;
    protected columnModel: ColumnModel;
    protected cellNavigationService: CellNavigationService;
    protected navigationService: NavigationService;
    protected rowPositionUtils: RowPositionUtils;
    cellPositionUtils: CellPositionUtils;
    protected ctrlsService: CtrlsService;
    private cellCtrl;
    private cellRange;
    private rangeStartRow;
    private rangeEndRow;
    private cellHoverListener;
    private lastCellHovered;
    protected changedCalculatedValues: boolean;
    private dragging;
    protected abstract type: SelectionHandleType;
    protected shouldDestroyOnEndDragging: boolean;
    private init;
    protected abstract onDrag(e: MouseEvent | Touch): void;
    protected abstract onDragEnd(e: MouseEvent | Touch): void;
    protected isDragging(): boolean;
    protected getCellCtrl(): CellCtrl | undefined;
    protected setCellCtrl(cellComp: CellCtrl): void;
    protected getCellRange(): CellRange;
    protected setCellRange(range: CellRange): void;
    protected getRangeStartRow(): RowPosition;
    protected setRangeStartRow(row: RowPosition): void;
    protected getRangeEndRow(): RowPosition;
    protected setRangeEndRow(row: RowPosition): void;
    protected getLastCellHovered(): CellPosition | null | undefined;
    private preventRangeExtension;
    protected onDragStart(e: MouseEvent): void;
    private getDraggingCssClass;
    protected updateValuesOnMove(e: MouseEvent): void;
    getType(): SelectionHandleType;
    refresh(cellCtrl: CellCtrl): void;
    protected clearValues(): void;
    private removeListeners;
    protected destroy(): void;
}
