import { Worker } from 'node:worker_threads'; import { ChunksetCommitment } from '../../core/commitments.js'; import { CommitmentEncoding } from './commitment_worker.js'; import { WorkerPool, WorkerPoolTask } from './worker_pool.js'; import '@aptos-labs/ts-sdk'; import 'zod'; import '../../clay-codes-DdXABBDx.js'; import '@shelby-protocol/clay-codes'; interface CommitmentTask extends WorkerPoolTask { chunksetIdx: number; chunksetData: Uint8Array; encoding: CommitmentEncoding; } /** * Worker pool that encodes chunksets in parallel and returns their commitments. * Does not write encoded chunks to disk — it only computes the * ChunksetCommitment. Suitable for the CLI and any other caller that only * needs commitments. */ declare class CommitmentWorkerPool extends WorkerPool { constructor(maxWorkers: number); protected postTaskMessage(worker: Worker, task: CommitmentTask): void; /** * Dispatch a chunkset to a worker for encoding. Returns a promise that * resolves to the chunkset's commitment once the worker finishes. * * The caller must ensure `chunksetData` is not used after this call * (its underlying buffer is transferred to the worker thread). */ encodeChunkset(chunksetIdx: number, chunksetData: Uint8Array, encoding: CommitmentEncoding): Promise; } export { CommitmentWorkerPool };