export interface ThumbHashEncodeInput { readonly width: number; readonly height: number; /** RGBA pixels, 4 bytes per pixel, row-major. */ readonly rgba: Uint8Array; } /** Maximum side length thumbhash will accept (per its README). */ export declare const THUMBHASH_MAX_SIDE = 100; /** Encode RGBA pixel data to a compact ThumbHash. Throws if dims * invalid or exceed THUMBHASH_MAX_SIDE. */ export declare function encodeThumbHash(input: ThumbHashEncodeInput): Uint8Array; /** Decode a ThumbHash back to RGBA pixels. */ export declare function decodeThumbHash(hash: Uint8Array): { readonly width: number; readonly height: number; readonly rgba: Uint8Array; }; /** Decode ThumbHash directly to a PNG data URL — convenient for * placeholders in the browser. */ export declare function thumbHashToImageUrl(hash: Uint8Array): string; /** Coerce a wire-form thumbHash to Uint8Array. Schema accepts both * Uint8Array (CBOR-native, Phase 2.B) and base64-string (JSON * fallback). Returns null if input is empty or undecodable. */ export declare function coerceThumbHash(input: Uint8Array | string | undefined): Uint8Array | null; /** One-shot helper: take a wire-form thumbHash (Uint8Array | base64 * string | undefined) and return a renderable PNG data URL, or null * if it cannot be decoded. */ export declare function thumbHashWireToImageUrl(input: Uint8Array | string | undefined): string | null; //# sourceMappingURL=thumbhash.d.ts.map