/** * Persist inbound uploads to the global media store (`{stateDir}/media/inbound/`). */ import type { InboundAttachmentInput, MediaRef } from '../../media/types.js'; export type { InboundAttachmentInput, MediaRef } from '../../media/types.js'; export { isImageInboundAttachment, isVoiceInboundAttachment } from './attachment-classifiers.js'; export { toMediaRef, mediaRefFromUri } from './inbound-types.js'; /** Decode base64 or data-URL payload (composer wire + voice STT). */ export declare function decodeInboundAttachmentBase64(data: string): Buffer; /** * Write attachments with binary `data` to the media store; returns metadata-only refs. */ export declare function persistInboundAttachments(attachments: InboundAttachmentInput[] | undefined, opts?: { maxBytes?: number; resolveUri?: (uri: string, attachment: InboundAttachmentInput) => Promise<{ buffer: Buffer; path: string; mimeType: string; name: string; size: number; } | null>; }): Promise; /** Read attachment bytes by media URI (voice STT, tools). */ export declare function readInboundAttachmentBuffer(uri: string): Promise; export declare function assertMediaUri(uri: string): void;