import { List, NumberSortedList } from "../longan/gs.collections"; import { WorkPromise } from "./promiseManager"; export declare enum WorkerState { Idle = 0, Busy = 1 } export declare enum WorkType { None = 0, Initialize = 1, GetJson = 2, GetGSZ = 3, GetGSM = 4, GetImage = 5, ComputeHLODLevels = 6, GetBTZ = 7, GetFile = 8, GetURLImage = 9, GetOsgbGSM = 10, GetImageArrayBuffer = 11, Decompression = 12, ComputeCollisionByTriangles = 14, ComputeCollisionBySegment = 13 } export declare class WorkResult { type: WorkType; data: any; constructor(type: WorkType, data: any); } export declare class WorkManager { protected workers: List; protected tasks: NumberSortedList<{ type: WorkType; params: any; data: any; promise: WorkPromise; }>; private workerNoCounter; private workerCount; private workerInitializePromises; static instance: WorkManager; constructor(workerCount?: number); static init(workerCount?: number): Promise; static execute(type: WorkType, params: any, priority?: number, data?: any): WorkPromise; static dispose(): void; }