/** @format */
import { Format } from '../color/format.js';
import { Palette } from './palette.js';
/**
 * Class representing a palette of colors stored as 32-bit unsigned integers.
 */
export declare class PaletteUint32 implements Palette {
    /**
     * The underlying data array storing the color values.
     * @private
     */
    private readonly _data;
    /**
     * Gets the underlying data array.
     * @returns {Uint32Array} The data array.
     */
    get data(): Uint32Array;
    /**
     * The number of colors in the palette.
     * @private
     */
    private readonly _numColors;
    /**
     * Gets the number of colors in the palette.
     * @returns {number} The number of colors.
     */
    get numColors(): number;
    /**
     * The number of channels per color.
     * @private
     */
    private readonly _numChannels;
    /**
     * Gets the number of channels per color.
     * @returns {number} The number of channels.
     */
    get numChannels(): number;
    /**
     * Gets the byte length of the underlying data array.
     * @returns {number} The byte length.
     */
    get byteLength(): number;
    /**
     * Gets the buffer of the underlying data array.
     * @returns {ArrayBufferLike} The buffer.
     */
    get buffer(): ArrayBufferLike;
    /**
     * Gets the format of the palette.
     * @returns {Format} The format.
     */
    get format(): Format;
    /**
     * Gets the maximum channel value.
     * @returns {number} The maximum channel value.
     */
    get maxChannelValue(): number;
    /**
     * Creates an instance of PaletteUint32.
     * @param {number} numColors - The number of colors.
     * @param {number} numChannels - The number of channels per color.
     * @param {Uint32Array} [data] - Optional data array.
     */
    constructor(numColors: number, numChannels: number, data?: Uint32Array);
    /**
     * Creates a new PaletteUint32 instance from another instance.
     * @param {PaletteUint32} other - The other PaletteUint32 instance.
     * @returns {PaletteUint32} The new instance.
     */
    static from(other: PaletteUint32): PaletteUint32;
    /**
     * Sets the RGB values at the specified index.
     * @param {number} index - The index.
     * @param {number} r - The red value.
     * @param {number} g - The green value.
     * @param {number} b - The blue value.
     */
    setRgb(index: number, r: number, g: number, b: number): void;
    /**
     * Sets the RGBA values at the specified index.
     * @param {number} index - The index.
     * @param {number} r - The red value.
     * @param {number} g - The green value.
     * @param {number} b - The blue value.
     * @param {number} a - The alpha value.
     */
    setRgba(index: number, r: number, g: number, b: number, a: number): void;
    /**
     * Sets the value of a specific channel at the specified index.
     * @param {number} index - The index.
     * @param {number} channel - The channel.
     * @param {number} value - The value.
     */
    set(index: number, channel: number, value: number): void;
    /**
     * Gets the value of a specific channel at the specified index.
     * @param {number} index - The index.
     * @param {number} channel - The channel.
     * @returns {number} The value.
     */
    get(index: number, channel: number): number;
    /**
     * Gets the red value at the specified index.
     * @param {number} index - The index.
     * @returns {number} The red value.
     */
    getRed(index: number): number;
    /**
     * Gets the green value at the specified index.
     * @param {number} index - The index.
     * @returns {number} The green value.
     */
    getGreen(index: number): number;
    /**
     * Gets the blue value at the specified index.
     * @param {number} index - The index.
     * @returns {number} The blue value.
     */
    getBlue(index: number): number;
    /**
     * Gets the alpha value at the specified index.
     * @param {number} index - The index.
     * @returns {number} The alpha value.
     */
    getAlpha(index: number): number;
    /**
     * Sets the red value at the specified index.
     * @param {number} index - The index.
     * @param {number} value - The red value.
     */
    setRed(index: number, value: number): void;
    /**
     * Sets the green value at the specified index.
     * @param {number} index - The index.
     * @param {number} value - The green value.
     */
    setGreen(index: number, value: number): void;
    /**
     * Sets the blue value at the specified index.
     * @param {number} index - The index.
     * @param {number} value - The blue value.
     */
    setBlue(index: number, value: number): void;
    /**
     * Sets the alpha value at the specified index.
     * @param {number} index - The index.
     * @param {number} value - The alpha value.
     */
    setAlpha(index: number, value: number): void;
    /**
     * Creates a clone of the current PaletteUint32 instance.
     * @returns {PaletteUint32} The cloned instance.
     */
    clone(): PaletteUint32;
    /**
     * Converts the palette to a Uint8Array.
     * @returns {Uint8Array} The Uint8Array representation of the palette.
     */
    toUint8Array(): Uint8Array;
}
