import { KeyValue, Disposable } from '@antv/x6-common'; import { Rectangle } from '@antv/x6-geometry'; import { Model, Cell } from '../model'; import { View, CellView, EdgeView } from '../view'; import { JOB_PRIORITY } from './queueJob'; import { Graph } from '../graph'; export declare class Scheduler extends Disposable { views: KeyValue; willRemoveViews: KeyValue; protected zPivots: KeyValue; private graph; private renderArea?; private queue; get model(): Model; get container(): SVGGElement; constructor(graph: Graph); protected init(): void; protected startListening(): void; protected stopListening(): void; protected onModelReseted({ options }: Model.EventArgs['reseted']): void; protected onCellAdded({ cell, options }: Model.EventArgs['cell:added']): void; protected onCellRemoved({ cell }: Model.EventArgs['cell:removed']): void; protected onCellZIndexChanged({ cell, options, }: Model.EventArgs['cell:change:zIndex']): void; protected onCellVisibleChanged({ cell, current, }: Model.EventArgs['cell:change:visible']): void; requestViewUpdate(view: CellView, flag: number, options?: any, priority?: JOB_PRIORITY, flush?: boolean): void; setRenderArea(area?: Rectangle): void; isViewMounted(view: CellView): boolean; protected renderViews(cells: Cell[], options?: any): void; protected renderViewInArea(view: CellView, flag: number, options?: any): void; protected removeViews(cells: Cell[]): void; protected flush(): void; protected flushWaitingViews(): void; protected updateView(view: View, flag: number, options?: any): number; protected insertView(view: CellView): void; protected resetViews(): void; protected removeView(view: CellView): void; protected toggleVisible(cell: Cell, visible: boolean): void; protected addZPivot(zIndex?: number): Comment; protected removeZPivots(): void; protected createCellView(cell: Cell): CellView, CellView.Options> | EdgeView, EdgeView.Options> | null; protected getEffectedEdges(view: CellView): { id: string; view: CellView; flag: number; }[]; protected isUpdatable(view: CellView): boolean; protected getRenderPriority(view: CellView): JOB_PRIORITY; dispose(): void; } export declare namespace Scheduler { const FLAG_INSERT: number; const FLAG_REMOVE: number; const FLAG_RENDER: number; } export declare namespace Scheduler { enum ViewState { CREATED = 0, MOUNTED = 1, WAITING = 2 } interface View { view: CellView; flag: number; options: any; state: ViewState; } interface EventArgs { 'view:mounted': { view: CellView; }; 'view:unmounted': { view: CellView; }; 'render:done': null; } }