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