export type BayerSize = 2 | 4 | 8 | 16; export declare const BAYER_SIZES: readonly [{ readonly label: "2x2"; readonly value: 2; }, { readonly label: "4x4"; readonly value: 4; }, { readonly label: "8x8"; readonly value: 8; }, { readonly label: "16x16"; readonly value: 16; }]; export declare const BAYER_MATRICES: Record; export declare const DIFFUSION_KERNELS: Record>; export declare function getClosestColor(colors: number[][], [r2, g2, b2]: number[]): number[]; export declare function rgbQuantDiffusionDither(ctx: CanvasRenderingContext2D, imageData: ImageData, palette: number[][], blockSize: number, kernelName: string, serpentine: boolean, smoothDownscale?: boolean): void; export declare function addPixelation(ctx: CanvasRenderingContext2D, sourceCanvas: HTMLCanvasElement, width: number, height: number, blockSize: number, smoothDownscale?: boolean): void; export declare function bayerDither(ctx: CanvasRenderingContext2D, imageData: ImageData, palette: number[][], blockSize: number, bayerSize?: BayerSize, smoothDownscale?: boolean): void; export declare function kernelDiffusionDither(ctx: CanvasRenderingContext2D, imageData: ImageData, palette: number[][], blockSize: number, kernelName: string, serpentine: boolean, colorSpace: 'rgb' | 'oklab', smoothDownscale?: boolean): void; export declare function simple2DDither(ctx: CanvasRenderingContext2D, imageData: ImageData, palette: number[][], blockSize: number, colorSpace?: 'rgb' | 'oklab', smoothDownscale?: boolean): void; export declare function hilbertD2XY(n: number, d: number): [number, number]; export declare function blueNoiseDither(ctx: CanvasRenderingContext2D, imageData: ImageData, palette: number[][], blockSize: number, smoothDownscale?: boolean): void; export declare function riemersmaDither(ctx: CanvasRenderingContext2D, imageData: ImageData, palette: number[][], blockSize: number, colorSpace?: 'rgb' | 'oklab', smoothDownscale?: boolean): void;