/** * Options for HEIC to PNG/JPEG conversion */ interface ConvertOptions { /** * Quality setting for JPEG output (0-1) * Default: 1 * Note: Only applies to JPEG format, ignored for PNG */ quality?: number; /** * Whether to handle multi-image HEIC files (e.g., bursts) * When true: Returns an array of Blobs (one per image) * When false: Returns only the first image as a single Blob * Default: false */ multiple?: boolean; } /** * Extended options that include format specification */ interface ConvertOptionsWithFormat extends ConvertOptions { /** * Output format for the converted image */ format: 'png' | 'jpeg'; } /** * Convert HEIC to PNG * * @param blob - The HEIC image blob * @param options - Conversion options (quality is ignored for PNG) * @returns Promise - Converted PNG blob(s) */ declare function heicToPng(blob: Blob, options?: ConvertOptions): Promise; /** * Convert HEIC to JPEG * * @param blob - The HEIC image blob * @param options - Conversion options including quality (default: 0.92) * @returns Promise - Converted JPEG blob(s) */ declare function heicToJpeg(blob: Blob, options?: ConvertOptions): Promise; /** * Flexible convert function for advanced use cases * * @param blob - The HEIC image blob * @param options - Conversion options with format specification * @returns Promise - Converted blob(s) in specified format */ declare function convert(blob: Blob, options: ConvertOptionsWithFormat): Promise; /** * Check if a Blob is a HEIC/HEIF image by examining its magic bytes * HEIC files have specific byte signatures at the beginning * * @param blob - The Blob to check * @returns Promise - true if the blob is a HEIC file */ declare function isHeic(blob: Blob): Promise; export { type ConvertOptions, type ConvertOptionsWithFormat, convert, heicToJpeg, heicToPng, isHeic };