import type { WhatsAppClient } from "./client.js"; type MediaDataSource = { type: "data"; value: string; mimeType: string; }; /** AG-UI multimodal content parts (shape the runtime's converter expects). */ export type AgentContentPart = { type: "text"; text: string; } | { type: "image"; source: MediaDataSource; } | { type: "audio"; source: MediaDataSource; } | { type: "video"; source: MediaDataSource; } | { type: "document"; source: MediaDataSource; }; /** Subset of an inbound media object we use. */ export interface WhatsAppMediaRef { id: string; mime_type?: string; filename?: string; } export interface FileDeliveryConfig { /** Skip a single file larger than this many bytes. Default 8 MiB. */ maxBytesPerFile?: number; /** Process at most this many media per message. Default 5. */ maxFiles?: number; /** Truncate decoded text files to this many bytes. Default 200 KiB. */ maxTextBytes?: number; } /** Download inbound media via the client and build AG-UI content parts. */ export declare function buildFileContentParts(media: WhatsAppMediaRef[], client: Pick, config: FileDeliveryConfig): Promise<{ parts: AgentContentPart[]; notes: string[]; }>; export {}; //# sourceMappingURL=download-files.d.ts.map