export declare function isDefined(value: T | undefined | null): value is Exclude; interface RGB extends Record { r: number; g: number; b: number; a?: number; } export interface RGBColor extends RGB { a?: 1; format?: 'name' | 'rgb'; } export interface RGBAColor extends RGB { a: number; format?: 'name' | 'rgba'; } export interface HEX3Color extends RGB { a?: 1; format?: 'name' | 'hex3'; } export interface HEX4Color extends RGB { a: number; format?: 'name' | 'hex4'; } export interface HEX6Color extends RGB { a?: 1; format?: 'name' | 'hex6'; } export interface HEX8Color extends RGB { a: number; format?: 'name' | 'hex8'; } interface HSL extends Record { h: number; s: number; l: number; a?: number; } export interface HSLColor extends HSL { a?: 1; format?: 'name' | 'hsl'; } export interface HSLAColor extends HSL { a: number; format?: 'name' | 'hsla'; } interface HSV extends Record { h: number; s: number; v: number; a?: number; } export interface HSVColor extends HSV { a?: 1; format?: 'name' | 'hsv'; } export interface HSVAColor extends HSV { a: number; format?: 'name' | 'hsva'; } export declare type Color = string | RGBColor | RGBAColor | HSLColor | HSLAColor | HSVColor | HSVAColor | HEX3Color | HEX4Color | HEX6Color | HEX8Color; export declare type ObjectColor = Exclude; export declare type ColorType = 'hex' | 'rgb' | 'hsv' | 'hsl'; /** * 将原始的 h、s、l 值标准化为 0 ~ 1 的值 * * @param h 0 ~ 360 * @param s 0 ~ 1,0% ~ 100% * @param l 0 ~ 1,0% ~ 100% * * @returns 标准化后的 HSL 对象 */ export declare function normalizeHsl(h: number | string, s: number | string, l: number | string): { h: number; s: number; l: number; }; /** * 将原始的 r、g、b 值标准化为 0 ~ 1 的值 * * @param r 0 ~ 255 * @param g 0 ~ 255 * @param b 0 ~ 255 * * @returns 标准化后 RGB 对象 */ export declare function normalizeRgb(r: number | string, g: number | string, b: number | string): { r: number; g: number; b: number; }; /** * 将原始透明度值标准化为 0 ~ 1 的值 * * @param a 0 ~ 1,0% ~ 100% * * @returns 标准化后的透明度 */ export declare function normalizeAlpha(a: number | string): number; /** * 将 HSL 颜色转换为 RGB 颜色 * * @param h 0 ~ 360 * @param s 0 ~ 1,0% ~ 100% * @param l 0 ~ 1,0% ~ 100% * * @returns 转换后的 RGB 颜色 */ export declare function hslToRgb(h: number | string, s: number | string, l: number | string): RGBColor; /** * 将 HSL 颜色转换为 HSV 颜色 * * @param h 0 ~ 360 * @param s 0 ~ 1,0% ~ 100% * @param l 0 ~ 1,0% ~ 100% * * @returns 转换后的 HSV 颜色 */ export declare function hslToHsv(h: number | string, s: number | string, l: number | string): HSVColor; /** * 将 RGB 颜色转换为 HEX 颜色 * * @param r 0 ~ 255 * @param g 0 ~ 255 * @param b 0 ~ 255 * @param allow3Char 是否允许 3 位的 HEX 值 * * @returns 转换后的 HEX 颜色 */ export declare function rgbToHex(r: number | string, g: number | string, b: number | string, allow3Char?: boolean): string; /** * 将 RGBA 颜色转换为 HEX 颜色 * * @param r 0 ~ 255 * @param g 0 ~ 255 * @param b 0 ~ 255 * @param a 0 ~ 1,0% ~ 100% * @param allow4Char 是否允许 4 位的 HEX 值 * * @returns 转换后的 HEX 颜色 */ export declare function rgbaToHex(r: number | string, g: number | string, b: number | string, a: number | string, allow4Char?: boolean): string; /** * 随机生成一个特定色调(冷暖色)的颜色值 * * @param prefer 色调 hard-冷色调,soft-暖色调 * @param withAlpha 是否具有透明度 * @param type 颜色的类型 * * @returns 生成的颜色字面值 */ export declare function randomPreferColor(prefer: 'hard' | 'soft', withAlpha?: boolean, type?: ColorType): string; /** * 随机生成一个冷色调的颜色值 * * @param withAlpha 是否具有透明度 * @param type 颜色的类型 * * @returns 生成的颜色字面值 */ export declare function randomHardColor(withAlpha?: boolean, type?: ColorType): string; export {};