import * as Effect from "effect/Effect"; import * as Stream from "effect/Stream"; import * as Binding from "../../Binding.ts"; import type { RuntimeContext } from "../../RuntimeContext.ts"; import type { Bucket } from "./Bucket.ts"; import type { Conditional, R2Error, MultipartOptions, MultipartUpload, R2Object, PutOptions } from "./BucketTypes.ts"; /** * @binding * @product R2 * @category Storage & Databases */ export interface WriteBucket extends Binding.Service Effect.Effect> { } export declare const WriteBucket: WriteBucket; export interface WriteBucketClient { put(key: string, value: ReadableStream | ArrayBuffer | ArrayBufferView | string | null | Blob | Stream.Stream, options?: PutOptions & { onlyIf: Conditional | Headers; contentLength?: number; }): Effect.Effect; put(key: string, value: ReadableStream | ArrayBuffer | ArrayBufferView | string | null | Blob, options?: PutOptions): Effect.Effect; put(key: string, value: ReadableStream | ArrayBuffer | ArrayBufferView | string | null | Blob | Stream.Stream, options: PutOptions & { contentLength: number; }): Effect.Effect; delete(keys: string | string[]): Effect.Effect; createMultipartUpload(key: string, options?: MultipartOptions): Effect.Effect; resumeMultipartUpload(key: string, uploadId: string): Effect.Effect; } //# sourceMappingURL=WriteBucket.d.ts.map