/**
 * Node-backed implementation of `S3ClientLike`.
 *
 * Wraps `@aws-sdk/client-s3`. Resolvable on both Node and Bun, so it
 * can serve as the package's default fallback for resolvers that do
 * not honor the `"bun"` exports condition.
 *
 * Design notes:
 *
 * 1. **Lazy SDK loading.** `@aws-sdk/client-s3` is large (~1 MB on
 *    disk) and imports several hundred files at startup. To keep the
 *    cost off the cold-start path of callers that import this module
 *    but never actually upload/download, the SDK is loaded via dynamic
 *    `import()` on first method call.
 *
 * 2. **Streamed uploads track byte counts via a counting passthrough.**
 *    `PutObjectCommand` does not report bytes uploaded. For
 *    fixed-size bodies (`Uint8Array`, `ArrayBuffer`, `Buffer`,
 *    `string`, `Blob`) we use `.byteLength` / `.size`. For
 *    `ReadableStream` bodies we wrap the source in a counting
 *    `Transform` so the returned byte count matches what was actually
 *    sent on the wire.
 *
 * 3. **Bucket-in-endpoint addressing.** Agentuity buckets use
 *    virtual-host-style endpoints (`<bucket>.<host>`), but the AWS SDK
 *    composes virtual-host requests from a shared endpoint plus the
 *    command's `Bucket` parameter. We keep `forcePathStyle` false and
 *    pass the SDK the shared endpoint so it does not prepend the bucket
 *    twice.
 */
import type { BucketConfig, S3ClientLike } from './types.ts';
export type { BucketConfig, S3ClientLike } from './types.ts';
export { bucketConfigFromEnv } from './types.ts';
export declare function createS3Client(bucket: BucketConfig): S3ClientLike;
//# sourceMappingURL=node.d.ts.map