/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ export type NodeImageFormat = "png" | "jpeg" | "raw-rgba"; export interface ImageValueBase { readonly width: number; readonly height: number; readonly previewScale: number; } export interface BrowserImageValue extends ImageValueBase { readonly bitmap: ImageBitmap; } export interface NodeImageValue extends ImageValueBase { readonly buffer: Buffer; readonly format: NodeImageFormat; } export type ImageValue = BrowserImageValue | NodeImageValue; export declare function imageValueFromBitmap(bitmap: ImageBitmap, width: number, height: number, previewScale?: number): BrowserImageValue; export declare function imageValueFromBuffer(buffer: Buffer, format: NodeImageFormat, width: number, height: number, previewScale?: number): NodeImageValue; export declare function isImageValue(v: unknown): v is ImageValue; export declare function isBrowserImageValue(v: unknown): v is BrowserImageValue; export declare function isNodeImageValue(v: unknown): v is NodeImageValue; /** * Best-effort normalization at boundaries (input resolver, builder hook). * Accepts the wire forms an `ImageValue` port may receive: * - an existing `ImageValue` (passthrough) * - a `data:` URI (browser: decoded via `createImageBitmap`; node: encoded * bytes wrapped in a `NodeImageValue`, with dimensions probed via the * registered raster codec) * - a `Blob` (browser only) * - an `ImageBitmap` (browser only) * Returns `undefined` for unrecognized shapes. * * Note: a raw `Buffer` is intentionally not handled here — callers with * encoded bytes plus a format hint should construct one via * `imageValueFromBuffer(...)` directly. * * String dispatch is platform-agnostic; non-string platform-specific shapes * are tested via `typeof` guards so the same module loads on browser and node. */ export declare function normalizeToImageValue(value: unknown): Promise; //# sourceMappingURL=imageValue.d.ts.map