import { TgdVec4 } from "../math";
import type { ArrayNumber4 } from "../types";
export declare class TgdColor {
    static fromHSL(H: number, S: number, L: number): TgdColor;
    static fromPaletteLinear(factor: number, palette: Array<string | TgdColor>): TgdColor;
    static fromPaletteClosest(factor: number, palette: Array<string | TgdColor>): TgdColor;
    static fromMix(factor: number, color0: string | TgdColor, color1: string | TgdColor): TgdColor;
    static fromString(colorCSS: string): TgdColor;
    /** Red [0..1] */
    private _R;
    /** Green [0..1] */
    private _G;
    /** Blue [0..1] */
    private _B;
    /** Alpha [0..1] */
    private _A;
    /** Hue [0..1] */
    private _H;
    /** Saturation [0..1] */
    private _S;
    /** Lumimance [0..1] */
    private _L;
    constructor();
    constructor(color: string | ArrayNumber4 | TgdVec4 | TgdColor);
    constructor(r: number, g: number, b: number);
    constructor(r: number, g: number, b: number, a: number);
    get R(): number;
    set R(v: number);
    get G(): number;
    set G(v: number);
    get B(): number;
    set B(v: number);
    get A(): number;
    set A(v: number);
    get H(): number;
    set H(v: number);
    get S(): number;
    set S(v: number);
    get L(): number;
    set L(v: number);
    parse(color: string): this;
    toString(): string;
    toVec4(target?: TgdVec4): TgdVec4;
    toArayNumber4(target?: ArrayNumber4): ArrayNumber4;
    rgb2hsl(): this;
    hsl2rgb(): this;
    luminanceSet(lum: number): this;
    luminanceMul(factor: number, max?: number): this;
    alphaSet(alpha: number): this;
    alphaMul(factor: number): this;
}
//# sourceMappingURL=color.d.ts.map