import { IServiceWorkItem, ILocalWorkItem, IActiveToolsDataType, IWorkerMessage } from "../types"; import { EToolsKey } from "../enum"; import { BaseShapeTool, BaseShapeOptions } from "../tools"; import { MainThreadEngineImpl, ISubThreadInitOption } from "./base"; import { VNodeManager } from "../vNodeManager"; export interface SubTopThread { readonly vNodes: VNodeManager; readonly thread: MainThreadEngineImpl; serviceWorkShapes: Map; localWorkShapes: Map; canUseTopLayer(toolsType: EToolsKey): boolean; destroy(): void; clearAll(): void; setToolsOpt(opt: IActiveToolsDataType): void; getToolsOpt(): IActiveToolsDataType | undefined; createWorkShapeNode(opt: IActiveToolsDataType & { workId: string; }): BaseShapeTool | undefined; setWorkOptions(workId: string, opt: BaseShapeOptions): void; consumeDrawAll(data: IWorkerMessage): void; consumeDraw(data: IWorkerMessage): void; getLocalWorkShape(workId: string): ILocalWorkItem | undefined; createLocalWork(data: IWorkerMessage): void; } export declare class SubTopThreadImpl implements SubTopThread { readonly vNodes: VNodeManager; readonly thread: MainThreadEngineImpl; serviceWorkShapes: Map; localWorkShapes: Map; private tmpOpt?; private animationId?; private syncUnitTime; constructor(opt: ISubThreadInitOption); createLocalWork(data: IWorkerMessage): void; getLocalWorkShape(workId: string): ILocalWorkItem | undefined; createLocalWorkShape(workId: string, opt?: BaseShapeOptions): import("../tools").ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools/text").TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools/pencilEraser").PencilEraserShape | import("../tools").BitMapEraserShape | import("../tools").SelectorShape | import("../tools").ImageShape | import("../tools/shadowSvg").ISvgShadowShape | undefined; canUseTopLayer(toolsType: EToolsKey): toolsType is EToolsKey.LaserPen; destroy(): void; clearAll(): void; consumeDraw(data: IWorkerMessage): void; setToolsOpt(opt: IActiveToolsDataType): void; getToolsOpt(): IActiveToolsDataType | undefined; createWorkShapeNode(opt: IActiveToolsDataType & { workId: string; }): import("../tools").ArrowShape | import("../tools").PencilShape | import("../tools/straight").StraightShape | import("../tools").EllipseShape | import("../tools").PolygonShape | import("../tools").StarShape | import("../tools").RectangleShape | import("../tools").SpeechBalloonShape | import("../tools/text").TextShape | import("../tools").LaserPenShape | import("../tools").EraserShape | import("../tools/pencilEraser").PencilEraserShape | import("../tools").BitMapEraserShape | import("../tools").SelectorShape | import("../tools").ImageShape | import("../tools/shadowSvg").ISvgShadowShape | undefined; private setNodeKey; private activeServiceWorkShape; private computNextAnimationIndex; private animationDraw; private runAnimation; setWorkOptions(workId: string, opt: BaseShapeOptions): void; consumeDrawAll(data: IWorkerMessage): void; }