import type { ColorKeywords } from './ColorKeywords';
export type RGBTuple = [number, number, number];
export type ColorKeywordsType = keyof typeof ColorKeywords;
export type ColorType = 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hex' | 'transparent' | ColorKeywordsType;
interface ColorHSLA {
    h: number;
    s: number;
    l: number;
    a: number;
}
interface ColorRGBA {
    r: number;
    g: number;
    b: number;
    a: number;
}
export interface ColorObjectType {
    rgb: RGBTuple;
    alpha: number;
    type: ColorType;
    luma(): number;
    toRGB(): ColorRGBA;
    toHSL(): ColorHSLA;
    toHEXString(): string;
    toRGBString(): string;
    toHSLString(): string;
}
export declare class ColorObject implements ColorObjectType {
    rgb: RGBTuple;
    alpha: number;
    type: ColorType;
    constructor(rgb: RGBTuple, alpha: number, type: ColorType);
    luma(): number;
    toHEXString(): string;
    toRGB(): {
        r: number;
        g: number;
        b: number;
        a: number;
    };
    toRGBString(): string;
    toHSL(): {
        h: number;
        s: number;
        l: number;
        a: number;
    };
    toHSLString(): string;
    toColorString(type?: ColorType): string;
    clone(): ColorObject;
}
export {};
