/** * Wave Processing Module * * Handles parallel wave-based file inscription with dependency management. * Extracted from orchestrator.ts for better maintainability. */ import { PrivateKey } from '@bsv/sdk'; import type { Utxo } from 'js-1sat-ord'; import type { DependencyNode } from '../analysis/index.js'; import type { InscribedFile } from '../inscription/inscription.types.js'; import type { ChunkManifest } from '../chunking/index.js'; import type { IndexerService } from '../../lib/service-providers/IndexerService.js'; import type { OrchestratorCallbacks, WaveJobContext } from './orchestration.types.js'; /** * Result of wave processing */ export interface WaveProcessingResult { inscriptions: InscribedFile[]; allChunkManifests: ChunkManifest[]; totalCost: number; totalSize: number; txids: Set; } /** * Processes file inscription waves * * Processes files wave by wave, respecting dependency order while maximizing parallelism. * Each wave contains files that can be inscribed in parallel (all dependencies satisfied). * * @param reorganizedWaves - Waves of files to process * @param graph - Dependency graph * @param urlMap - URL mapping for dependencies (will be mutated) * @param cachedFiles - List of cached file paths * @param cachedChunkManifests - Chunk manifests from cached files * @param previousInscriptions - Map of previous inscriptions * @param jobContext - Job context for wave processing * @param paymentPk - Private key for payment * @param indexer - Indexer service for broadcasting transactions * @param satsPerKb - Satoshis per KB for fees * @param dryRun - Whether this is a dry run * @param seedUtxo - Seed UTXO for first wave (to avoid indexer timing issues) * @param spentUtxos - Set of spent UTXOs to avoid double-spending * @param callbacks - Optional progress callbacks * @returns Wave processing result */ export declare function processWaves(reorganizedWaves: string[][], graph: Map, urlMap: Map, cachedFiles: string[], cachedChunkManifests: ChunkManifest[], previousInscriptions: Map, jobContext: WaveJobContext, paymentPk: PrivateKey, indexer: IndexerService, satsPerKb: number | undefined, dryRun: boolean, seedUtxo: Utxo | undefined, spentUtxos: Set, callbacks?: OrchestratorCallbacks): Promise; //# sourceMappingURL=waveProcessor.d.ts.map