import { Group } from "spritejs"; import { ISubWorkerInitOption } from "./base"; import { VNodeManager } from "../vNodeManager"; import { IBatchMainMessage, IRectType, IServiceWorkItem, IWorkerMessage } from "../types"; import { EToolsKey } from "../enum"; import { BaseShapeOptions } from "../tools"; import { WorkThreadEngineForFullWorker } from "./workerManager"; export interface ServiceWork { readonly viewId: string; readonly vNodes: VNodeManager; readonly fullLayer: Group; readonly drawLayer: Group; readonly post: (msg: IBatchMainMessage) => void; selectorWorkShapes: Map; runSelectWork(data: IWorkerMessage): void; consumeDraw(data: IWorkerMessage): void; setNodeKey(workId: string, workShape: IServiceWorkItem, tools: EToolsKey, opt: BaseShapeOptions): IServiceWorkItem; runReverseSelectWork(selectIds: string[]): void; removeWork(data: IWorkerMessage): Promise; removeSelectWork(data: IWorkerMessage): void; runSelectWork(data: IWorkerMessage): void; consumeFull(data: IWorkerMessage): void; consumeDraw(data: IWorkerMessage): void; destroy(): void; } export declare class ServiceWorkForFullWorker implements ServiceWork { viewId: string; vNodes: VNodeManager; fullLayer: Group; drawLayer: Group; workShapes: Map; selectorWorkShapes: Map; thread: WorkThreadEngineForFullWorker; protected animationId?: number | undefined; protected willRunEffectSelectorIds: Set; protected runEffectId?: number | undefined; protected noAnimationRect: IRectType | undefined; protected syncUnitTime: number; post: (msg: IBatchMainMessage) => Promise; constructor(opt: ISubWorkerInitOption); destroy(): void; consumeDraw(data: IWorkerMessage): Promise; consumeFull(data: IWorkerMessage): void; runSelectWork(data: IWorkerMessage): void; setNodeKey(workId: string, workShape: IServiceWorkItem, tools: EToolsKey, opt: BaseShapeOptions): IServiceWorkItem; runReverseSelectWork(selectIds: string[]): void; removeWork(data: IWorkerMessage): Promise; removeSelectWork(data: IWorkerMessage): void; private removeNode; private activeWorkShape; private hasDiffData; protected animationDraw(): Promise; protected runAnimation(): void; protected computNextAnimationIndex(workShape: IServiceWorkItem, pointUnit: number): number; protected runEffect(): void; private effectRunSelector; private activeSelectorShape; }