import tinyColor from 'tinycolor2'; import { GradientColorPoint, GradientColors } from './gradient'; import type { ColorFormat } from './types'; export interface ColorObject { alpha: number; css: string; hex: string; hex8: string; hsl: string; hsla: string; hsv: string; hsva: string; rgb: string; rgba: string; saturation: number; value: number; isGradient: boolean; linearGradient?: string; } interface ColorStates { s: number; v: number; h: number; a: number; } interface GradientStates { colors: GradientColorPoint[]; degree: number; selectedId: string; css?: string; } /** * 将渐变对象转换成字符串 */ export declare const gradientColors2string: (object: GradientColors) => string; /** * 去除颜色的透明度 */ export declare const getColorWithoutAlpha: (color: string) => string; export declare const genId: () => string; /** * 生成一个渐变颜色 * @param left * @param color * @returns */ export declare const genGradientPoint: (left: number, color: string, id?: string) => GradientColorPoint; export declare class Color { states: ColorStates; originColor: string; isGradient: boolean; gradientStates: GradientStates; constructor(input: string); update(input: string): void; get saturation(): number; set saturation(value: number); get value(): number; set value(value: number); get hue(): number; set hue(value: number); get alpha(): number; set alpha(value: number); get rgb(): string; get rgba(): string; get hsv(): string; get hsva(): string; get hsl(): string; get hsla(): string; get hex(): string; get hex8(): string; get cmyk(): string; get css(): string; get linearGradient(): string; get gradientColors(): GradientColorPoint[]; set gradientColors(colors: GradientColorPoint[]); get gradientSelectedId(): string; set gradientSelectedId(id: string); get gradientDegree(): number; set gradientDegree(degree: number); get gradientSelectedPoint(): GradientColorPoint; getFormatsColorMap(): { HEX: string; CMYK: string; RGB: string; RGBA: string; HSL: string; HSLA: string; HSV: string; HSVA: string; CSS: string; HEX8: string; }; getFormattedColor(format: ColorFormat, enableAlpha: boolean): string; updateCurrentGradientColor(): false | this; updateStates(input: string): void; getRgba(): { r: number; g: number; b: number; a: number; }; getCmyk(): { c: number; m: number; y: number; k: number; }; getHsva(): tinyColor.ColorFormats.HSVA; getHsla(): tinyColor.ColorFormats.HSLA; /** * 判断输入色是否与当前色相同 */ equals(color: string): boolean; /** * 校验输入色是否是一个有效颜色 * @param color * @returns */ static isValid(color: string): boolean; /** * 对象转颜色字符串 */ static object2color(object: any, format: ColorFormat): string; /** * 是否是渐变色 * @param input * @returns */ static isGradientColor: (input: string) => boolean; /** * 比较两个颜色是否相同 * @param color1 * @param color2 * @returns */ static compare: (color1: string, color2: string) => boolean; } /** * 获取对外输出的color对象 * @param color * @returns */ export declare const getColorObject: (color: Color) => ColorObject | null; export default Color;