import { a as ListOptions, c as S3StorageConfig, d as Storage, l as SignedUploadOptions, n as DownloadResult, o as ListResult, p as UploadResult, u as SignedUploadUrl } from "../types-D_DWe7k9.mjs"; //#region src/storage/s3.d.ts /** * Build the merged config: for each field, use the explicit value if present, * otherwise fall back to the corresponding S3_* env var. Validate once on the * final merged result so a malformed env var never breaks the build when the * caller provides that field explicitly. */ declare function resolveS3Config(partial: Record): S3StorageConfig; /** * S3-compatible storage implementation */ declare class S3Storage implements Storage { private client; private bucket; private publicUrl?; private endpoint; constructor(config: S3StorageConfig); upload(options: { key: string; body: Buffer | Uint8Array | ReadableStream; contentType: string; }): Promise; download(key: string): Promise; delete(key: string): Promise; exists(key: string): Promise; list(options?: ListOptions): Promise; getSignedUploadUrl(options: SignedUploadOptions): Promise; getPublicUrl(key: string): string; } /** * Create S3 storage adapter * This is the factory function called at runtime. * Config fields are merged with S3_* env vars; env vars fill in any missing fields. */ declare function createStorage(config: Record): Storage; //#endregion export { S3Storage, createStorage, resolveS3Config }; //# sourceMappingURL=s3.d.mts.map