export interface C64Block { /** Palette indices: [background, local1, local2, local3] */ colors: [number, number, number, number]; colorsPalette: [number, number, number][]; /** 32 entries, each a palette index from `colors` */ pixels: number[]; } export interface C64Bitmap { background: number; backgroundPalette: [number, number, number]; blocks: C64Block[]; } export declare class C64ImageQuantizer { readonly filePath: string; readonly processed: boolean; readonly dither: boolean; readonly progressStartCallback?: (total: number, message: string) => void; readonly progressCallback?: (current: number, total: number) => void; readonly progressFinishCallback?: () => void; constructor(filePath: string, dither?: boolean, extendedColors?: boolean, progressStartCallback?: (total: number, message: string) => void, progressCallback?: (current: number, total: number) => void, progressFinishCallback?: () => void); private C64Pallete; private C64PaletteRGB; private C64PaletteLAB; private readonly LUT_BITS; private readonly LUT_SIZE; private readonly LUT_SHIFT; private C64PaletteLUT; private buildRgbLut; private perceivedMixColor; private precalculateColors; private nearestC64Color; private nearestC64ColorConstrained; private imageWidth; private imageHeight; private pixels; private pixelsDither; private loadImage; private blocksWidth; private blocksHeight; private blocks; private imageToBlocks; private chooseBestBackground; private kMeans; private bestColorsForBlock; private quantizeBlock; private quantizeBlockDithered; private quantizeBlocks; processImage(): Promise; } //# sourceMappingURL=c64_image_quantizer.d.ts.map