export interface AttachmentMeta { url: string; name: string; contentType: string; size: number; } export interface AttachmentLimits { maxFileBytes: number; maxTotalBytes: number; } export type AttachmentRejectionReason = 'file-too-large' | 'total-too-large'; export interface RejectedAttachment { attachment: AttachmentMeta; reason: AttachmentRejectionReason; limitBytes: number; } export interface AttachmentSelection { accepted: AttachmentMeta[]; rejected: RejectedAttachment[]; totalAcceptedBytes: number; } export declare function selectAttachmentsWithinLimits(attachments: AttachmentMeta[], limits: AttachmentLimits): AttachmentSelection; export declare function buildAttachmentOnlyPrompt(attachmentCount: number): string;