import { MasterControlForWorker } from "../mainEngine"; import { IBatchMainMessage, ILayerOptionType, IWorkerMessage } from "../types"; import { AppViewDisplayerManager, MainViewDisplayerManager } from "../../plugin/baseViewContainerManager"; import { BackgroundThreadEngineImpl } from "../../component/svg/manager"; import { ICanvasOptionType } from "./types"; import { BackgroundSnapshotThreadImpl } from "../../component/svg/snapshot"; export interface IBackgroundThreadInitOption { master: MasterControlForWorker; container: HTMLDivElement; canvasOpt: ICanvasOptionType; layerOpt: ILayerOptionType; displayer: MainViewDisplayerManager | AppViewDisplayerManager; post(sp: Omit): void; } export interface BackgroundThreadManager { master: MasterControlForWorker; backgroundThreadMap: Map; createBackgroundThread(viewId: string, opt: IBackgroundThreadInitOption): BackgroundThreadEngineImpl; createSnapshotThread(viewId: string, opt: IBackgroundThreadInitOption): BackgroundSnapshotThreadImpl; consume(msg: Set): Promise; post(sp: Omit): void; destroy(): void; } export declare class BackgroundThreadManagerImpl implements BackgroundThreadManager { backgroundThreadMap: Map; private snapshotThread?; master: MasterControlForWorker; constructor(master: MasterControlForWorker); createBackgroundThread(viewId: string, opt: IBackgroundThreadInitOption): BackgroundThreadEngineImpl; createSnapshotThread(viewId: string, opt: IBackgroundThreadInitOption): BackgroundSnapshotThreadImpl; consume(msg: Set): Promise; consumeTargetOne(viewId: string, msg: IWorkerMessage): Promise; post: (msg: Omit) => void; destroy(): void; }