import ExtensionAPI from 'echarts/lib/core/ExtensionAPI';
import GlobalModel from 'echarts/lib/model/Global';
import ComponentView from 'echarts/lib/view/Component';
import RoamController from 'echarts/lib/component/helper/RoamController';
import { Payload } from 'echarts/lib/util/types';
import { type ElementAnimateConfig } from 'zrender/lib/Element';
import { type AxesControllerHost } from './axesRoamHelper';
import RoamModel from './RoamModel';
import { type ControllerHost } from './roamHelper';
declare class RoamView extends ComponentView {
    static type: string;
    type: string;
    /** 被影响的部分 */
    static readonly seriesType: string[];
    static readonly axesType: string[];
    roamModel: RoamModel;
    ecModel: GlobalModel;
    api: ExtensionAPI;
    private __axesGroupArr;
    private __seriesGroupArr;
    private __overflowTimer;
    private __overflowPosArr;
    protected __controller: RoamController;
    /**
     * 非重复结构：
     * {
     *  target: Element[],
     *  zoom: number,
     *  zoomLimit: number,
     * }
     */
    private __seriesControllerHosts;
    private __axesControllerHosts;
    private __defaultCenter;
    private __defaultZoom;
    private __initRendered;
    private __panDirection;
    init(ecModel: GlobalModel, api: ExtensionAPI): void;
    render(roamModel: RoamModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
    private __initCenterAndZoom;
    private __getSeriesGroupArr;
    private __getAxesGroupArr;
    private __handleMouseUp;
    private __controllerHandler;
    private __panHandler;
    private __zoomHandler;
    private __getContentRect;
    private __getWindowRect;
    private __roamLimitHandler;
    private __clipHandler;
    getController(): RoamController;
    getCenterAndZoom(): {
        center: number[];
        zoom: number;
    };
    getAllViewState(): {
        [seriesIndex: number]: Pick<ControllerHost, "zoom" | "zoomLimit">;
    };
    getSeriesViewState(seriesIndex: number): {
        zoom: number;
        zoomLimit: {
            min?: number;
            max?: number;
        };
    };
    /**
     * ! 该方法只会更新状态，但不会刷新视图
     */
    setSeriesViewState(seriesIndex: number, { zoom, zoomLimit }: Pick<ControllerHost, 'zoom' | 'zoomLimit'>): void;
    updateAllViewOnPanAndZoom({ dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
        dx?: number;
        dy?: number;
        zoomDelta?: number;
        zoomX?: number;
        zoomY?: number;
        dirty?: boolean;
    }, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean, needLimit?: boolean): void;
    updateSeriesViewOnPanAndZoom(seriesIndex: number, { dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
        dx?: number;
        dy?: number;
        zoomDelta?: number;
        zoomX?: number;
        zoomY?: number;
        dirty?: boolean;
    }, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean, roamLimit?: boolean): void;
    updateAxesViewOnPanAndZoom(controllerHost: AxesControllerHost, { dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
        dx?: number;
        dy?: number;
        zoomDelta?: number;
        zoomX?: number;
        zoomY?: number;
        dirty?: boolean;
    }, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean): void;
    handleUpdateViewOnPanAndZoom(controllerHost: ControllerHost, { dx, dy, zoomDelta, zoomX, zoomY, dirty }: {
        dx?: number;
        dy?: number;
        zoomDelta?: number;
        zoomX?: number;
        zoomY?: number;
        dirty?: boolean;
    }, updateFn: any, animation?: boolean | ElementAnimateConfig, triggerEvent?: boolean): void;
    setCenterAndZoom(): void;
}
export default RoamView;
