/** * Apply the inverse color transform: read the residual ARGB image and * the per-block coefficients, produce decoded ARGB. Mutates `argb` in * place because the caller hands us the post-pixel-decode buffer. */ export declare function inverseColorTransform(argb: Uint32Array, width: number, height: number, bits: number, ctImage: Uint32Array, ctWidth: number): void; /** * Forward color transform. Picks per-block coefficients by trying a * small grid of `(greenToRed, greenToBlue, redToBlue)` candidates and * keeping whichever minimises the sum of absolute residual values * across the block. Mutates `argb` in place to hold residuals; returns * the coefficient image to be encoded as a sub-image. * * The candidate grid is chosen to cover the practically-useful range * `[-16, 16]` in steps of 8 — narrower than libwebp's exhaustive search * but enough to capture the typical greenToRed ≈ 1, greenToBlue ≈ 1.5 * relationship in natural images. Doubling the grid would buy a few * more percent compression at 8× the encode time; we trade it off * for speed. */ export declare function applyColorTransform(argb: Uint32Array, width: number, height: number, bits: number): { ctImage: Uint32Array, ctWidth: number, ctHeight: number };