/** * Create and durably populate one journal-owned destination-sibling stage. */ import type { RuntimeTreeManifest } from './runtime-manifest-model.js'; import type { RuntimePromotionRootIdentity } from './runtime-promotion-journal-types.js'; import type { RuntimeStageOwnershipCheckpoint, RuntimeStageOwnershipIdentity } from './runtime-stage-ownership.js'; export type RuntimeStageIoCheckpoint = RuntimeStageOwnershipCheckpoint | 'after-stage-mkdir' | 'after-marker-stage-fsync' | 'after-marker-parent-fsync' | 'before-first-source-entry' | 'before-source-entry' | 'after-source-file-chunk' | 'after-source-entry'; export interface RuntimeStageIoDependencies { readonly checkpoint?: (checkpoint: RuntimeStageIoCheckpoint, entryIndex?: number) => void; readonly expectedSourceRootIdentity?: RuntimePromotionRootIdentity; } /** * Materialize a source manifest into an absent stage. Partial output remains * owned by the journal when any step fails. */ export declare function materializeRuntimeStage(sourceDir: string, destinationParent: string, stageBasename: string, source: RuntimeTreeManifest, ownership: RuntimeStageOwnershipIdentity, dependencies?: RuntimeStageIoDependencies): string; //# sourceMappingURL=runtime-stage-io.d.ts.map