/** * Represents a color in RGBA format. * Each element must be a number between 0 and 255. * The fourth value represents the alpha (transparency) channel. * * @typedef {number[]} RgbaColor * @property {number} 0 - Red component (0–255) * @property {number} 1 - Green component (0–255) * @property {number} 2 - Blue component (0–255) * @property {number} 3 - Alpha component (0–255) */ export type RgbaColor = number[]; export type RgbColor = number[]; export type HslaColor = number[]; export type HslColor = number[]; export type HexColor = string; export type ColorTypes = HexColor | number | RgbColor | RgbaColor; export type RgbaResult = { /** * - Red component (0–255) */ r: number; /** * - Green component (0–255) */ g: number; /** * - Blue component (0–255) */ b: number; /** * - Alpha component (0–255) */ a: number; }; export type RgbResult = { /** * - Red component (0–255) */ r: number; /** * - Green component (0–255) */ g: number; /** * - Blue component (0–255) */ b: number; }; export type HexResult = { /** * - Hex color */ hex: string; }; export type HslResult = { /** * - Hue (0–360) */ h: number; /** * - Saturation (0–100) */ s: number; /** * - Lightness (0–100) */ l: number; }; /** * Represents a color in RGB format. * Each element must be a number between 0 and 255. * * @typedef {number[]} RgbColor * @property {number} 0 - Red component (0–255) * @property {number} 1 - Green component (0–255) * @property {number} 2 - Blue component (0–255) */ /** * Represents a color in HSLA format. * The fourth value represents the alpha (transparency) channel. * * @typedef {number[]} HslaColor * @property {number} 0 - Hue (0–360) * @property {number} 1 - Saturation (0–100) * @property {number} 2 - Lightness (0–100) * @property {number} 3 - Alpha component (0–255) */ /** * Represents a color in HSL format. * * @typedef {number[]} HslColor * @property {number} 0 - Hue (0–360) * @property {number} 1 - Saturation (0–100) * @property {number} 2 - Lightness (0–100) */ /** * Represents a hex color. * * @typedef {string} HexColor */ /** * A union type representing various accepted color formats. * Can be a hex color string, a numeric value, or an array-based RGB/RGBA representation. * * @typedef {HexColor | number | RgbColor | RgbaColor} ColorTypes */ /** * @typedef {Object} RgbaResult * @property {number} r - Red component (0–255) * @property {number} g - Green component (0–255) * @property {number} b - Blue component (0–255) * @property {number} a - Alpha component (0–255) */ /** * @typedef {Object} RgbResult * @property {number} r - Red component (0–255) * @property {number} g - Green component (0–255) * @property {number} b - Blue component (0–255) */ /** * @typedef {Object} HexResult * @property {string} hex - Hex color */ /** * @typedef {Object} HslResult * @property {number} h - Hue (0–360) * @property {number} s - Saturation (0–100) * @property {number} l - Lightness (0–100) */ /** * A class that allows converting colors between all common formats. */ declare class TinyColorConverter { #private; /** * Generates a smooth gradient of colors based on sine wave patterns. * * @see {@link https://www.npmjs.com/package/rainbow-colors-array} Code Reference * @param {number} [len=24] - The number of colors to generate. * @param {'rgb'|'hex'|'hsl'} [type='rgb'] - The format of the colors returned: `'rgb'`, `'hex'`, or `'hsl'`. * @param {boolean} [pastel=false] - If true, generates pastel tones by adjusting the intensity and offset. * @returns {Array} An array of color values in the selected format: * @private */ private static _rca; /** * Generates a smooth gradient of colors based on sine wave patterns. * * @param {number} [len=24] - The number of colors to generate. * @param {boolean} [pastel=false] - If true, generates pastel tones by adjusting the intensity and offset. * @returns {RgbResult[]} An array of rgb color values. */ static rcaRgb(len?: number, pastel?: boolean): RgbResult[]; /** * Generates a smooth gradient of colors based on sine wave patterns. * * @param {number} [len=24] - The number of colors to generate. * @param {boolean} [pastel=false] - If true, generates pastel tones by adjusting the intensity and offset. * @returns {HslResult[]} An array of hsl color values. */ static rcaHsl(len?: number, pastel?: boolean): HslResult[]; /** * Generates a smooth gradient of colors based on sine wave patterns. * * @param {number} [len=24] - The number of colors to generate. * @param {boolean} [pastel=false] - If true, generates pastel tones by adjusting the intensity and offset. * @returns {HexResult[]} An array of hex color values. */ static rcaHex(len?: number, pastel?: boolean): HexResult[]; /** * Generates a random color in hexadecimal format. * * @returns {HexColor} A hex color string (e.g. `#a3e5f2`). */ static randomColor(): HexColor; /** * Parses input into RGBA array. * @param {ColorTypes} input * @param {boolean} isHsl * @returns {RgbaColor} */ static parseInput(input: ColorTypes, isHsl: boolean): RgbaColor; /** * Converts hsl to integer. * @param {number} h - Hue (0–360) * @param {number} s - Saturation (0–100) * @param {number} l - Lightness (0–100) * @returns {number} */ static hslToInt(h: number, s: number, l: number): number; /** * Converts hsl to hex. * @param {number} h - Hue (0–360) * @param {number} s - Saturation (0–100) * @param {number} l - Lightness (0–100) * @returns {HexColor} */ static hslToHex(h: number, s: number, l: number): HexColor; /** * Converts hsl(a) string to RGBA array. * @param {string} hsl * @returns {RgbaColor} */ static hslStringToRgbaArray(hsl: string): RgbaColor; /** * Converts HSL or HSLA to RGBA. * @param {number} h - Hue (0–360) * @param {number} s - Saturation (0–100) * @param {number} l - Lightness (0–100) * @param {number} [a=1] - Alpha (0–1) * @returns {RgbaColor} */ static hslToRgba(h: number, s: number, l: number, a?: number): RgbaColor; /** * Converts HSL or HSLA to RGB. * @param {number} h - Hue (0–360) * @param {number} s - Saturation (0–100) * @param {number} l - Lightness (0–100) * @param {number} [a=1] - Alpha (0–1) * @returns {RgbColor} */ static hslToRgb(h: number, s: number, l: number, a?: number): RgbColor; /** * Converts hex to integer. * @param {HexColor} hex * @returns {number} */ static hexToInt(hex: HexColor): number; /** * Converts hex string to HSL array. * @param {HexColor} hex * @returns {HslColor} */ static hexToHsl(hex: HexColor): HslColor; /** * Converts hex string to HSL array. * @param {HexColor} hex * @returns {HslaColor} */ static hexToHsla(hex: HexColor): HslaColor; /** * Converts hex string to RGBA array. * @param {HexColor} hex * @returns {RgbaColor} */ static hexToRgba(hex: HexColor): RgbaColor; /** * Converts HEX to RGB. * @param {HexColor} hex * @returns {RgbColor} */ static hexToRgb(hex: HexColor): RgbColor; /** * Converts RGB to HEX. * @param {number} r * @param {number} g * @param {number} b * @returns {HexColor} */ static rgbToHex(r: number, g: number, b: number): HexColor; /** * Converts RGB to integer. * @param {number} r * @param {number} g * @param {number} b * @returns {number} */ static rgbToInt(r: number, g: number, b: number): number; /** * Converts RGBA to HSLA. * @param {number} r * @param {number} g * @param {number} b * @param {number} [a=1] * @returns {HslaColor} */ static rgbaToHsla(r: number, g: number, b: number, a?: number): HslaColor; /** * Converts RGBA to HSL. * @param {number} r * @param {number} g * @param {number} b * @param {number} [a=1] * @returns {HslColor} */ static rgbaToHsl(r: number, g: number, b: number, a?: number): HslColor; /** * Converts rgb(a) string to RGBA array. * @param {string} rgb * @returns {RgbaColor} */ static rgbStringToRgbaArray(rgb: string): RgbaColor; /** * Converts integer color to HSL. * @param {number} int * @returns {HslColor} */ static intToHsl(int: number): HslColor; /** * Converts integer color to HSL. * @param {number} int * @returns {HslaColor} */ static intToHsla(int: number): HslaColor; /** * Converts integer color to hex. * @param {number} int * @returns {HexColor} */ static intToHex(int: number): HexColor; /** * Converts an integer (0xRRGGBB) to RGBA. * @param {number} value * @returns {RgbaColor} */ static intToRgba(value: number): RgbaColor; /** * @param {ColorTypes|null} [input=null] - Any valid color (hex, rgb string, rgba string, hsl(a), css name, array or int). * @param {boolean} [checkIsHsl=false] */ constructor(input?: ColorTypes | null, checkIsHsl?: boolean); /** * @param {ColorTypes} input - Any valid color (hex, rgb string, rgba string, hsl(a), css name, array or int). */ setColor(input: ColorTypes): void; /** * Returns HSLA array. * @returns {HslaColor} */ toHslaArray(): HslaColor; /** * Returns RGB string. * @returns {string} */ toHslString(): string; /** * Returns RGBA string. * @returns {string} */ toHslaString(): string; /** * Returns RGBA array. * @returns {RgbaColor} */ toRgbaArray(): RgbaColor; /** * Returns RGB string. * @returns {string} */ toRgbString(): string; /** * Returns RGBA string. * @returns {string} */ toRgbaString(): string; /** * Returns hex color. * @returns {HexColor} */ toHex(): HexColor; /** * Returns color as integer. * @returns {number} */ toInt(): number; /** * Returns the original input. * @returns {ColorTypes} */ getOriginal(): ColorTypes; } export default TinyColorConverter; //# sourceMappingURL=TinyColorConverter.d.mts.map