/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { Writeable } from '../Types';
export declare enum RgbaComponent {
    Red = 0,
    Green = 1,
    Blue = 2,
    Alpha = 3
}
declare class Rgba {
    private static _toArrayLookup;
    private static _toInt32Lookup;
    toInt32(color: ArrayLike<number>, count?: 1 | 2 | 3 | 4, offset?: number): number;
    toArray(color: number, dst: Writeable<ArrayLike<number>>, count?: 1 | 2 | 3 | 4, dstOffset?: number): void;
    /**
     * Useful for debug purposes when we have a array of RGBA pixels where we want to make sure that
     * pixels with similiar colors (and probably located close to each other in the image) have their colors
     * assigned to a random (and unique color). This will make it easier for a human to spot differences
     * in a image where pixels originally just differ a little in color.
     * @param srcRGBA Src array of RGBA pixels
     * @param dstRGBA  Dst array of RGBA pixels. Pixels from srcRGBA will be written to this array. Pixels of same color in {@link srcRGBA}
     * are written here (at same offset) but with a new random unique color assigned. If same reference is passed
     * as to {@link srcRGBA} then {@link srcRGBA} is overwritten (which is ok if you want to do a inplace randomization).
     * @param predicate If specified then it is called for every pixel in {@link srcRGBA}. If predicate returns true then that
     * pixel is recolorized
     * @returns Reference to {@link dstRGBA}
     */
    randomizeRGBAColorsWithoutModifyingAlphaInPlace(srcRGBA: Uint8Array, dstRGBA: Uint8Array, predicate?: (srcRGBA: Uint8Array, rgbaOffset: number) => boolean): Uint8Array;
}
export declare const rgba: Rgba;
export {};
//# sourceMappingURL=rgba.d.ts.map