import { ImageDataLike, WasmSource } from "./common.js"; export declare enum UVMode { UVAdapt = 0, UV420 = 1, UV444 = 2, UVAuto = 3 } export declare enum Csp { YCoCg = 0, YCbCr = 1, Custom = 2, YIQ = 3 } export interface Options { /** * Range: [0 = smallest file, 100 = lossless], float type. * Quality 100 is strictly lossless. * Quality above 95 (exclusive) is near lossless. * Quality in [0-95] range will use lossy compression. * * @default 75.0 */ quality?: number; /** * Same as `quality` but for alpha channel. * * @default 100.0 */ alphaQuality?: number; /** * Compression rate/speed trade-off. [0=faster-bigger .. 9=slower-better] * * @default 5 */ effort?: number; /** * Number of entropy-analysis passes. Range: [1..10] * * @default 1 */ pass?: number; /** * Spatial noise shaping strength in [0(=off), 100], float type. * * Affects how we spread noise between 'risky' areas (where noise is easily visible) * and easier areas (where it's less visible). * * A high SNS value leads to skewing noise more towards areas where it * should be less visible. In general this improves SSIM but worsens PSNR. * * @default 50.0 */ sns?: number; uvMode?: UVMode; cspType?: Csp; /** * error diffusion strength [0=off, 100=max] * * @default 0 */ errorDiffusion?: number; useRandomMatrix?: boolean; } export declare const defaultOptions: Required; export declare const bitDepth: number[]; export declare const mimeType = "image/webp2"; export declare const extension = "wp2"; export declare function loadEncoder(input?: WasmSource): Promise; export declare function loadDecoder(input?: WasmSource): Promise; export declare function encode(image: ImageDataLike, options?: Options): Uint8Array; export declare function decode(input: BufferSource): ImageData;