import type { AssetEmitter, AssetLike } from "@awboost/cfn-template-builder/builder"; import type { AssetEmitterProgress, SchedulerFunction } from "@awboost/cfn-template-builder/emitter"; import { S3Client, type S3ClientConfig } from "@aws-sdk/client-s3"; import { TypedEventEmitterBase } from "../internal/events.js"; export type S3AssetEmitterOptions = { bucket: string; objectKeyPrefix?: string; s3?: S3Client; s3Config?: S3ClientConfig; scheduler?: SchedulerFunction; }; /** * Class which can emit assets to the file system. */ export declare class S3AssetEmitter extends TypedEventEmitterBase<{ progress(event: AssetEmitterProgress): void; }> implements AssetEmitter { private readonly options; private readonly results; private readonly s3; constructor(options: S3AssetEmitterOptions); /** * Add an asset to the output. */ addAsset(asset: AssetLike): void; /** * Wait for all assets to be emitted. */ done(): Promise; private emitAsset; } //# sourceMappingURL=s3-asset-emitter.d.ts.map