import { R as ResizeOptions, d as FormatMeta } from '../types-mKodz4f_.js'; /** * Canvas abstraction: works in both main thread (HTMLCanvasElement) * and Web Worker (OffscreenCanvas). */ type AnyCanvas$3 = HTMLCanvasElement | OffscreenCanvas; /** Create a Canvas of the given dimensions (auto-detects Worker vs main thread) */ declare function createCanvas(width: number, height: number): AnyCanvas$3; /** * Convert a Canvas to a Blob. Handles both HTMLCanvasElement.toBlob() * and OffscreenCanvas.convertToBlob() transparently. */ declare function canvasToBlob(canvas: AnyCanvas$3, type: string, quality?: number): Promise; type AnyCanvas$2 = HTMLCanvasElement | OffscreenCanvas; /** * Resize an ImageBitmap or Canvas to target dimensions. * Returns a new Canvas with the resized image. * * @throws {TransformError} if the canvas dimensions exceed browser limits */ declare function resize(source: ImageBitmap | AnyCanvas$2, opts: ResizeOptions): AnyCanvas$2; type AnyCanvas$1 = HTMLCanvasElement | OffscreenCanvas; /** * Composite an image onto a white background. * Required for formats that don't support transparency (JPEG, BMP). * * If the target format supports transparency, returns the original canvas unchanged. */ declare function compositeAlpha(canvas: AnyCanvas$1, meta: FormatMeta): AnyCanvas$1; type AnyCanvas = HTMLCanvasElement | OffscreenCanvas; /** * Full transform: ImageBitmap → Canvas with optional resize + alpha compositing. * * @param bitmap - Decoded ImageBitmap from the HEIC decoder * @param meta - Encoder metadata (used to determine alpha compositing needs) * @param resizeOpts - Optional resize config * @returns A ready-to-encode Canvas */ declare function toCanvas(bitmap: ImageBitmap, meta: FormatMeta, resizeOpts?: ResizeOptions): AnyCanvas; export { canvasToBlob, compositeAlpha, createCanvas, resize, toCanvas };