import type ChartViewType from 'echarts/types/src/view/Chart';
import ChartView from 'echarts/lib/view/Chart';
import type GlobalModel from 'echarts/types/src/model/Global';
import type ExtensionAPI from 'echarts/types/src/core/ExtensionAPI';
import type { Payload } from 'echarts/types/src/util/types';
import type { RoamControllerHost as RoamControllerHostType } from 'echarts/types/src/component/helper/RoamController';
import type { TwoWayTreeSeriesModelClazz as TwoWayTreeSeriesModel } from './TwoWayTreeSeries';
export type TwoWayTreeViewClazz = TwoWayTreeView & ChartViewType;
export default class TwoWayTreeView extends ChartView {
    static readonly type = "dvTwoWayTree";
    readonly type = "dvTwoWayTree";
    private __controller;
    controllerHost: RoamControllerHostType;
    private __min;
    private __max;
    private __leftTreeData;
    private __rightTreeData;
    private __originScale;
    init(this: TwoWayTreeViewClazz, ecModel: GlobalModel, api: ExtensionAPI): void;
    render(this: TwoWayTreeViewClazz, seriesModel: TwoWayTreeSeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
    updateViewCoordSys(this: TwoWayTreeViewClazz, seriesModel: TwoWayTreeSeriesModel, api: ExtensionAPI): void;
    updateController(this: TwoWayTreeViewClazz, seriesModel: TwoWayTreeSeriesModel, ecModel: GlobalModel, api: ExtensionAPI): void;
    _transformTo(this: TwoWayTreeViewClazz, option: {
        originX?: number;
        originY?: number;
        scaleX?: number;
        scaleY?: number;
        rotation?: number;
        x?: number;
        y?: number;
    }, animation?: boolean | {
        time?: number;
        during?: (percent: number) => void;
        done?: () => void;
    }): TwoWayTreeViewClazz;
    dispose(this: TwoWayTreeViewClazz): void;
    remove(this: TwoWayTreeViewClazz): void;
}
