/** * Shared attachment utilities for downloading, compressing, and building content blocks. * Used by Discord and Slack gateways. */ import type { MessageAttachment, ContentBlock } from './types.js'; /** * Download a file from URL to local inbound media directory. * * @param url - File URL to download * @param filename - Original filename * @param authHeaders - Optional auth headers (e.g., Slack Bearer token) * @returns Local file path */ export declare function downloadFile(url: string, filename: string, authHeaders?: Record): Promise; /** * Compress an image buffer using sharp (progressive JPEG downscaling). */ export declare function compressImage(buffer: Buffer, maxSizeBytes: number): Promise; /** * Detect actual image media type from magic bytes. */ export declare function detectImageType(buffer: Buffer): string | null; /** * Build content blocks from attachments. * Images are base64-encoded for Claude Vision; documents are referenced by path. */ export declare function buildContentBlocks(attachments: MessageAttachment[]): Promise; //# sourceMappingURL=attachment-utils.d.ts.map