import { IDataZoomInteractiveEvent, type DataZoomAttributes } from './type';
import type { Dict, Matrix } from '@visactor/vutils';
import type { IGroup, IRect, ISymbol, IStage } from '@visactor/vrender-core';
import { EventEmitter } from '@visactor/vutils';
export interface InteractionAttributes {
    stage: IStage;
    attribute: Partial<Required<DataZoomAttributes>>;
    startHandlerMask?: IRect;
    endHandlerMask?: IRect;
    middleHandlerSymbol?: ISymbol;
    middleHandlerRect?: IRect;
    selectedBackground?: IRect;
    background?: IRect;
    previewGroup?: IGroup;
    selectedPreviewGroup?: IGroup;
    getLayoutAttrFromConfig?: any;
    getState: () => {
        start: number;
        end: number;
    };
    setState: (state: {
        start: number;
        end: number;
    }) => void;
    getGlobalTransMatrix: () => Matrix;
}
export declare class DataZoomInteraction extends EventEmitter {
    stage: IStage;
    attribute: Partial<Required<DataZoomAttributes>>;
    private _getLayoutAttrFromConfig;
    private _getState;
    private _setState;
    private _getGlobalTransMatrix;
    private _startHandlerMask;
    private _middleHandlerSymbol;
    private _middleHandlerRect;
    private _endHandlerMask;
    private _background;
    private _previewGroup;
    private _selectedPreviewGroup;
    private _selectedBackground;
    private _activeTag;
    private _activeItem;
    private _activeState;
    private _activeCache;
    private _layoutCache;
    private _spanCache;
    private _onHandlerPointerMove;
    constructor(props: InteractionAttributes);
    setAttributes(props: InteractionAttributes): void;
    private _initAttrs;
    clearDragEvents(): void;
    clearVGlobalEvents(): void;
    bindEvents(): void;
    private _handleTouchMove;
    private _onHandlerPointerDown;
    private _pointerMove;
    private _setStateAttr;
    private _moveZoomWithMiddle;
    private _moveZoomWithHandler;
    private _moveZoomWithBackground;
    private _onHandlerPointerUp;
    private _eventPosToStagePos;
    protected _dispatchEvent(eventName: IDataZoomInteractiveEvent, details?: Dict<any>): void;
}
