import { Logger } from '@btc-vision/logger'; import { ThreaderOptions, WorkerScript } from './interfaces/IThread.js'; export declare abstract class BaseThreader extends Logger { readonly logColor: string; protected abstract readonly workerScript: WorkerScript; private workers; private available; private pending; private queue; private idCounter; private initialized; private initializing; private tasksProcessed; private tasksFailed; private lastStatsLog; private readonly poolSize; private readonly statsInterval; private cleanupBound; protected constructor(options?: ThreaderOptions); get stats(): { pending: number; queued: number; available: number; total: number; processed: number; failed: number; }; terminate(): Promise; drain(): Promise; protected runWithTransfer(op: TOp, data: TData, transferables: ArrayBuffer[]): Promise; protected run(op: TOp, data: TData): Promise; private bindCleanupHandlers; private init; private logStatsIfNeeded; private processQueue; }