//#region src/ai/image-limits.d.ts /** Shared image attachment limits for AI chat (client composer + `/api/latest/ai/query/[mode]`). */ declare const MAX_IMAGES_PER_MESSAGE = 3; declare const MAX_IMAGE_BYTES_PER_FILE: number; declare const MAX_IMAGE_MB_PER_FILE: number; /** Decoded byte length of a base64 data URL or raw base64 (padding error ≤ 2 bytes). */ declare function estimateBase64ByteLength(dataUrl: string): number; type ImageValidationFailure = { code: "too_many"; maxImages: number; } | { code: "too_large"; maxBytes: number; actualBytes: number; }; type ImageValidationResult = { ok: true; } | { ok: false; failure: ImageValidationFailure; reason: string; }; type MessageLike = { role?: unknown; content?: unknown; }; declare function validateImageCount(imageCount: number): ImageValidationResult; declare function validateImageByteLength(bytes: number): ImageValidationResult; /** Validates per-message image count and per-file size for user messages. */ declare function validateImageAttachments(messages: readonly MessageLike[]): void; //#endregion export { ImageValidationFailure, ImageValidationResult, MAX_IMAGES_PER_MESSAGE, MAX_IMAGE_BYTES_PER_FILE, MAX_IMAGE_MB_PER_FILE, estimateBase64ByteLength, validateImageAttachments, validateImageByteLength, validateImageCount }; //# sourceMappingURL=image-limits.d.ts.map