import type * as socialmessaging from "@distilled.cloud/aws/socialmessaging"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { LinkedWhatsAppBusinessAccount } from "./LinkedWhatsAppBusinessAccount.ts"; /** * Runtime binding for `social-messaging:GetWhatsAppMessageMedia`. * * Retrieves a media file received in a WhatsApp message — either just its * metadata (`metadataOnly: true`) or a full download into an S3 object or * presigned URL. * * The caller addresses one of the bound account's phone numbers per * request; phone-number ARNs are provisioned by Meta under the WABA, so * the deploy-time half grants `social-messaging:GetWhatsAppMessageMedia` on `*`. * Provide the implementation with * `Effect.provide(AWS.SocialMessaging.GetWhatsAppMessageMediaHttp)`. * ### Managing Message Media * **Example:** Download Received Media to S3 * ```typescript * // init — bind the operation to the linked WABA * const getMedia = yield* AWS.SocialMessaging.GetWhatsAppMessageMedia(account); * * // runtime * const { mimeType, fileSize } = yield* getMedia({ * mediaId: "media-id-from-inbound-event", * originationPhoneNumberId: "phone-number-id-0123456789abcdef", * destinationS3File: { bucketName: "my-inbox", key: "media/inbound" }, * }); * ``` * * @binding */ export interface GetWhatsAppMessageMedia extends Binding.Service Effect.Effect<(request: socialmessaging.GetWhatsAppMessageMediaInput) => Effect.Effect>> { } export declare const GetWhatsAppMessageMedia: GetWhatsAppMessageMedia; //# sourceMappingURL=GetWhatsAppMessageMedia.d.ts.map