import { MasterControlForWorker } from "../mainEngine"; import { IBatchMainMessage, IWorkerMessage } from "../types"; import { IMainThreadInitOption, MainThreadEngineImpl } from "./base"; import { SnapshotThreadImpl } from "./snapshotThread"; export interface MainThreadManager { master: MasterControlForWorker; mainThreadMap: Map; createMainThread(viewId: string, opt: IMainThreadInitOption): MainThreadEngineImpl; consume(msg: Set): Promise; post(sp: Omit): void; destroy(): void; } export declare class MainThreadManagerImpl implements MainThreadManager { mainThreadMap: Map; private snapshotThread?; master: MasterControlForWorker; constructor(master: MasterControlForWorker); post: (msg: Omit) => void; destroy(): void; createMainThread(viewId: string, opt: IMainThreadInitOption): MainThreadEngineImpl; createSnapshotThread(viewId: string, opt: IMainThreadInitOption): SnapshotThreadImpl; consume(msg: Set): Promise; }