type PromiseRecord = { resolve: (value: unknown) => void; reject: (reason?: unknown) => void; onStatus?: (data: unknown) => void; }; export declare class SplatWorker { worker: Worker; queue: (() => void)[] | null; messages: Record; static currentId: number; constructor(); onMessage(event: MessageEvent): void; tryExclusive(callback: (worker: SplatWorker) => Promise): Promise | null; exclusive(callback: (worker: SplatWorker) => Promise): Promise; call(name: string, args: unknown, options?: { onStatus?: (data: unknown) => void; }): Promise; dispose(): void; } export declare class NewSplatWorkerPool { maxWorkers: number; numWorkers: number; freelist: SplatWorker[]; queue: ((worker: SplatWorker) => void)[]; constructor(maxWorkers?: number); withWorker(callback: (worker: SplatWorker) => Promise): Promise; allocWorker(): Promise; freeWorker(worker: SplatWorker): void; } export declare const workerPool: NewSplatWorkerPool; export {};