/**
 * Color type definition from Deck.gl.
 *
 * - Color: Imported from @deck.gl/core, typically an array of 3 or 4 numbers (RGB or RGBA).
 */
import type { Color } from "@deck.gl/core";
export type { Color } from "@deck.gl/core";
/**
 * RGB color represented as a tuple of three numbers: [red, green, blue].
 */
export type RGBColor = [number, number, number];
/**
 * RGBA color represented as a tuple of four numbers: [red, green, blue, alpha].
 */
export type RGBAColor = [number, number, number, number];
/**
 * Converts a color represented as an array of numbers (either RGB or RGBA) with 8-bit channel values (0-255)
 * into a normalized RGBA tuple with values in the range [0, 1].
 *
 * @param color - The input color as an array of numbers. It can be either:
 *   - [r, g, b]: An RGB color, where each channel is a number between 0 and 255.
 *   - [r, g, b, a]: An RGBA color, where each channel is a number between 0 and 255.
 *   - undefined
 * @returns A tuple [r, g, b, a] where each value is normalized to the range [0, 1] or undefined.
 */
export declare function toNormalizedColor(color?: Color): RGBAColor | undefined;
/**
 * Converts a color represented as an array of numbers (either RGB or RGBA) with 8-bit channel values (0-255)
 * into a normalized RGBA tuple with values in the range [0, 1].
 *
 * @param color - The input color as an array of numbers. It can be either:
 *   - [r, g, b]: An RGB color, where each channel is a number between 0 and 255.
 *   - [r, g, b, a]: An RGBA color, where each channel is a number between 0 and 255.
 * @returns A tuple [r, g, b, a] where each value is normalized to the range [0, 1].
 */
export declare function toNormalizedRGBAColor(color: Color): RGBAColor;
/**
 * Converts a color represented as an array of numbers (either RGB or RGBA) with 8-bit channel values (0-255)
 * into a normalized RGB tuple with values in the range [0, 1].
 *
 * @param color - The input color as an array of numbers. It can be either:
 *   - [r, g, b]: An RGB color, where each channel is a number between 0 and 255.
 *   - [r, g, b, a]: An RGBA color, where each channel is a number between 0 and 255.
 * @returns A tuple [r, g, b] where each value is normalized to the range [0, 1].
 */
export declare function toNormalizedRGBColor(color: Color): RGBColor;
/**
 * Blends two color arrays together, following an additive blending pattern.
 * @param baseColor The underlying color.
 * @param addedColor The color to add on top. If this color has no opacity, the base color is fully overwritten
 * @returns The blended color as an RGBA array
 */
export declare function blendColors(baseColor: Color, addedColor: Color): number[];
/**
 * Converts a `Color` object to an array representation.
 *
 * @param color - The color value to convert, expected to be an iterable (e.g., TypedArray or array-like) representing a color.
 * @returns The color as an array of numbers, typed as either `RGBColor` or `RGBAColor`.
 */
export declare function toArrayColor(color: Color): RGBColor | RGBAColor;
