export * from './smartspawn.classes.threadsimple.js'; export * from './smartspawn.wrap.js'; import { createRequire } from 'module'; const require = createRequire(import.meta.url); export interface IThreadsModule { BlobWorker: new (...args: unknown[]) => unknown; DefaultSerializer: unknown; Pool: unknown; Thread: { terminate: (threadArg: unknown) => Promise | void; events?: (threadArg: unknown) => unknown; }; Transfer: (payloadArg: unknown, transferablesArg?: Transferable[]) => unknown; Worker: new (workerPathArg: string | URL, optionsArg?: unknown) => unknown; registerSerializer: (serializerArg: unknown) => void; spawn: (workerArg: unknown, optionsArg?: unknown) => Promise; } const threads = require('threads') as IThreadsModule; export const { BlobWorker, DefaultSerializer, Pool, Thread, Transfer, Worker, registerSerializer, spawn, } = threads;