export type XYZ = [number, number, number];
export type LAB = [number, number, number];
export type HSV = {
    h: number;
    s: number;
    v: number;
    a?: number;
};
export type RGB = {
    r: number;
    g: number;
    b: number;
    a?: number;
};
export type HSL = {
    h: number;
    s: number;
    l: number;
    a?: number;
};
export type Hex = string & {
    __hexBrand: never;
};
export type Color = string | number | HSV | RGB | HSL;
export declare function isCssColor(color?: string | null | false): boolean;
export declare function isParsableColor(color: string): boolean;
export declare function parseColor(color: Color): RGB;
export declare function lighten(value: RGB, amount: number): RGB;
export declare function darken(value: RGB, amount: number): RGB;
export declare function RGBtoHex({ r, g, b, a }: RGB): Hex;
export declare function HexToRGB(hex: Hex): RGB;
export declare function parseHex(hex: string): Hex;
export declare function HSLtoHSV(hsl: HSL): HSV;
/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */
export declare function HSVtoRGB(hsva: HSV): RGB;
export declare function HSLtoRGB(hsla: HSL): RGB;
/**
 * Calculate the relative luminance of a given color
 * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef
 */
export declare function getLuma(color: Color): number;
export declare function getForeground(color: Color): "#fff" | "#000";
export declare function rgbToColorString(color: RGB): string;
export declare function hasLightForeground(color: Color): boolean;
export declare function resolveColorPrimitive(color: string): string | undefined;
