import * as S3 from "@distilled.cloud/aws/s3"; import * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Bucket } from "./Bucket.ts"; export interface GetObjectAttributesRequest extends Omit { } /** * Runtime binding for `s3:GetObjectAttributes`. * * Bind this operation to a bucket to get a callable that reads object * metadata (size, ETag, checksum, storage class, object parts) without * fetching the body — the bucket name is injected automatically and the * object-read attribute actions are granted on the bucket's objects. Provide * the implementation with `Effect.provide(AWS.S3.GetObjectAttributesHttp)`. * ### Reading Objects * **Example:** Read Object Size and ETag * ```typescript * const getObjectAttributes = yield* AWS.S3.GetObjectAttributes(bucket); * * const attrs = yield* getObjectAttributes({ * Key: "reports/q3.csv", * ObjectAttributes: ["ObjectSize", "ETag", "StorageClass"], * }); * ``` * * @binding */ export interface GetObjectAttributes extends Binding.Service Effect.Effect<(request: GetObjectAttributesRequest) => Effect.Effect>> { } export declare const GetObjectAttributes: GetObjectAttributes; //# sourceMappingURL=GetObjectAttributes.d.ts.map