import type { S3Client } from "@aws-sdk/client-s3"; import { type PlanV2ArtifactPublisher, type PlanV2PublishBlob } from "@hyperframes/producer/distributed"; export interface S3PlanV2ArtifactPublisherOptions { readonly s3: S3Client; /** Validated render output prefix from which all v2 object keys are derived. */ readonly planOutputS3Prefix: string; /** Planner-local scratch parent for the small manifest upload file. */ readonly temporaryRoot?: string; } /** * Manifest-last S3 implementation of the producer's plan-v2 publication seam. * * Blobs stream from the planner's private frozen directory directly to S3. * Successfully uploaded or safely reused digests are tracked so a manifest * cannot become visible before all of its references are durable. */ export declare class S3PlanV2ArtifactPublisher implements PlanV2ArtifactPublisher { #private; readonly artifactPrefix: string; readonly manifestUri: string; constructor(options: Readonly); putBlob(blob: Readonly): Promise; commitManifest(manifestBytes: string): Promise; abort(): Promise; } //# sourceMappingURL=s3PlanV2Publisher.d.ts.map