import type { AwbConfig } from './rest.js'; export declare const MAX_INLINE_TEXT_BYTES: number; export declare const MAX_ATTACHMENTS_PER_TURN = 20; export interface RawChatAttachment { id?: string; attachment_id?: string; filename?: string; file_name?: string; mime_type?: string; file_mimetype?: string; size_bytes?: number; file_size?: number; download_url?: string; thumbnail_url?: string; } export type PreparedAttachmentKind = 'image_base64' | 'text_inline' | 'materialized_file' | 'metadata_only'; export interface PreparedAttachment { id: string; filename: string; mime_type: string; size_bytes: number; download_url: string; kind: PreparedAttachmentKind; image_base64?: string; text_content?: string; local_path?: string; note?: string; } export interface PrepareOptions { fetchImages: boolean; materialize?: boolean; } export declare function prepareChatAttachments(config: AwbConfig, roomId: string, rawList: RawChatAttachment[] | undefined, options: PrepareOptions): Promise; export declare function approxBase64Bytes(base64: string | undefined): number; export declare function renderAttachmentBlock(attachments: PreparedAttachment[], heading?: string): string[];