import type * as runtime from "@cloudflare/workers-types"; import * as Effect from "effect/Effect"; import * as Stream from "effect/Stream"; export interface R2Object extends Omit { writeHttpMetadata(headers: Headers): Effect.Effect; } export interface ObjectBody extends R2Object { get body(): Stream.Stream; get bodyUsed(): boolean; arrayBuffer(): Effect.Effect; bytes(): Effect.Effect; text(): Effect.Effect; json(): Effect.Effect; blob(): Effect.Effect; } export type GetOptions = runtime.R2GetOptions; export type PutOptions = runtime.R2PutOptions & { contentLength?: number; }; export type ListOptions = runtime.R2ListOptions; export type Objects = { objects: R2Object[]; delimitedPrefixes: string[]; } & ({ truncated: true; cursor: string; } | { truncated: false; }); export type Conditional = runtime.R2Conditional; declare const R2Error_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "R2Error"; } & Readonly; export declare class R2Error extends R2Error_base<{ message: string; cause: Error; }> { } export interface MultipartUpload { raw: runtime.R2MultipartUpload; readonly key: string; readonly uploadId: string; uploadPart(partNumber: number, value: ReadableStream | (ArrayBuffer | ArrayBufferView) | string | Blob, options?: UploadPartOptions): Effect.Effect; abort(): Effect.Effect; complete(uploadedParts: UploadedPart[]): Effect.Effect; } export type MultipartOptions = runtime.R2MultipartOptions; export type UploadedPart = runtime.R2UploadedPart; export interface UploadPartOptions extends runtime.R2UploadPartOptions { } export {}; //# sourceMappingURL=BucketTypes.d.ts.map