import * as graphic from '../../util/graphic.js';
import ComponentView from '../../view/Component.js';
import GlobalModel from '../../model/Global.js';
import ExtensionAPI from '../../core/ExtensionAPI.js';
import Axis2D from '../../coord/cartesian/Axis2D.js';
import { PlaybackOrderModel } from './PlaybackOrderModel.js';
import { ZRColor } from '../../util/types.js';
import { LayoutRect } from '../../util/layout.js';
export declare class PlaybackOrderView extends ComponentView {
    static type: "playbackOrder";
    type: "playbackOrder";
    orderGroup: graphic.Group;
    orderGroupEls: {
        orderLineEl: graphic.Line;
        orderCircleEl: graphic.Circle;
        orderClosePositionEl: graphic.Group;
        orderTpEl: graphic.Group;
        orderSlEl: graphic.Group;
        orderDescEl: graphic.Group;
        orderTpBgEl: graphic.Rect;
        orderSlBgEl: graphic.Rect;
        orderCloseEl: graphic.Group;
    };
    dragTpGroupEl: graphic.Group;
    mouseSelected: boolean;
    selected: boolean;
    stopLossGroup: graphic.Group;
    stopLossEls: {
        stopDescEl: graphic.Group;
        stopCloseEl: graphic.Group;
        stopLineEl: graphic.Line;
        stopCircleEl: graphic.Circle;
        stopJoinLineEl: graphic.Line;
        dragBgEl: graphic.Rect;
    };
    stopProfitGroup: graphic.Group;
    stopProfitEls: {
        stopDescEl: graphic.Group;
        stopCloseEl: graphic.Group;
        stopLineEl: graphic.Line;
        stopCircleEl: graphic.Circle;
        stopJoinLineEl: graphic.Line;
        dragBgEl: graphic.Rect;
    };
    orderLabelEl: graphic.Text;
    stopProfitLabelEl: graphic.Text;
    stopLossLabelEl: graphic.Text;
    ecModel: GlobalModel;
    api: ExtensionAPI;
    playbackOrderModel: PlaybackOrderModel;
    backgroundColor: ZRColor;
    rect: LayoutRect;
    y: number;
    yAxisModel: Axis2D;
    labels: graphic.Text[];
    private dragType;
    private dragPrice;
    private dragStartX;
    private circleX;
    private circleMargin;
    private dragGroupType;
    private lastOrderDirection;
    private eventMount;
    private mousemoveTPSL;
    private _timer;
    init(ecModel: GlobalModel, api: ExtensionAPI): void;
    render(playbackOrderModel: PlaybackOrderModel, ecModel: GlobalModel, api: ExtensionAPI): void;
    sendMessage(type: string): void;
    zrMouseMove(e: any): void;
    zrMouseUp(): void;
    orderElVisible(type: string, invisible: boolean): void;
    orderMouseover(e: any): void;
    orderMouseout(e: any): void;
    orderClick(e: any): void;
    orderMousedown(e: any): void;
    zrMouseDown(e: any): void;
    createOrderEl(): void;
    renderOrder(): void;
    renderOrderGroup(): void;
    renderTpDrag(): void;
    removeTpDrag(): void;
    renderStopProfit(type: 'profit' | 'loss'): void;
    removeStop(type: 'profit' | 'loss'): void;
    renderLabels(): void;
    clearTimer(): void;
    clear(): void;
    dispose(ecModel: GlobalModel, api: ExtensionAPI): void;
}
