/** @format */
import { Format } from '../color/format.js';
import { Palette } from './palette.js';
/**
 * Class representing a palette with 16-bit unsigned integer values.
 */
export declare class PaletteUint16 implements Palette {
    /**
     * Internal data storage for the palette.
     */
    private readonly _data;
    /**
     * Gets the internal data array.
     * @returns {Uint16Array} The internal data array.
     */
    get data(): Uint16Array;
    /**
     * Number of colors in the palette.
     */
    private readonly _numColors;
    /**
     * Gets the number of colors in the palette.
     * @returns {number} The number of colors.
     */
    get numColors(): number;
    /**
     * Number of channels per color.
     */
    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 internal data array.
     * @returns {number} The byte length.
     */
    get byteLength(): number;
    /**
     * Gets the buffer of the internal 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 value for a channel.
     * @returns {number} The maximum channel value.
     */
    get maxChannelValue(): number;
    /**
     * Creates an instance of PaletteUint16.
     * @param {number} numColors - The number of colors.
     * @param {number} numChannels - The number of channels per color.
     * @param {Uint16Array} [data] - Optional initial data.
     */
    constructor(numColors: number, numChannels: number, data?: Uint16Array);
    /**
     * Creates a new PaletteUint16 instance from another instance.
     * @param {PaletteUint16} other - The other PaletteUint16 instance.
     * @returns {PaletteUint16} A new PaletteUint16 instance.
     */
    static from(other: PaletteUint16): PaletteUint16;
    /**
     * Sets the RGB values at a specific index.
     * @param {number} index - The index to set the values at.
     * @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 a specific index.
     * @param {number} index - The index to set the values at.
     * @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 a specific channel value at a specific index.
     * @param {number} index - The index to set the value at.
     * @param {number} channel - The channel to set the value for.
     * @param {number} value - The value to set.
     */
    set(index: number, channel: number, value: number): void;
    /**
     * Gets a specific channel value at a specific index.
     * @param {number} index - The index to get the value from.
     * @param {number} channel - The channel to get the value for.
     * @returns {number} The value of the channel.
     */
    get(index: number, channel: number): number;
    /**
     * Gets the red value at a specific index.
     * @param {number} index - The index to get the red value from.
     * @returns {number} The red value.
     */
    getRed(index: number): number;
    /**
     * Gets the green value at a specific index.
     * @param {number} index - The index to get the green value from.
     * @returns {number} The green value.
     */
    getGreen(index: number): number;
    /**
     * Gets the blue value at a specific index.
     * @param {number} index - The index to get the blue value from.
     * @returns {number} The blue value.
     */
    getBlue(index: number): number;
    /**
     * Gets the alpha value at a specific index.
     * @param {number} index - The index to get the alpha value from.
     * @returns {number} The alpha value.
     */
    getAlpha(index: number): number;
    /**
     * Sets the red value at a specific index.
     * @param {number} index - The index to set the red value at.
     * @param {number} value - The red value to set.
     */
    setRed(index: number, value: number): void;
    /**
     * Sets the green value at a specific index.
     * @param {number} index - The index to set the green value at.
     * @param {number} value - The green value to set.
     */
    setGreen(index: number, value: number): void;
    /**
     * Sets the blue value at a specific index.
     * @param {number} index - The index to set the blue value at.
     * @param {number} value - The blue value to set.
     */
    setBlue(index: number, value: number): void;
    /**
     * Sets the alpha value at a specific index.
     * @param {number} index - The index to set the alpha value at.
     * @param {number} value - The alpha value to set.
     */
    setAlpha(index: number, value: number): void;
    /**
     * Creates a clone of the current PaletteUint16 instance.
     * @returns {PaletteUint16} A new PaletteUint16 instance.
     */
    clone(): PaletteUint16;
    /**
     * Converts the internal data to a Uint8Array.
     * @returns {Uint8Array} The Uint8Array representation of the internal data.
     */
    toUint8Array(): Uint8Array;
}
