/** * Color Utilities for Theme Derivation * * Functions for manipulating colors and generating palettes. * * @since v1.57.2 */ import type { ExtendedTheme, SemanticColors } from './theme-types.js'; /** * RGB color representation */ export interface RGB { r: number; g: number; b: number; } /** * HSL color representation */ export interface HSL { h: number; s: number; l: number; } /** * Parse hex color to RGB */ export declare function hexToRgb(hex: string): RGB; /** * Convert RGB to hex */ export declare function rgbToHex(rgb: RGB): string; /** * Convert RGB to HSL */ export declare function rgbToHsl(rgb: RGB): HSL; /** * Convert HSL to RGB */ export declare function hslToRgb(hsl: HSL): RGB; /** * Convert hex to HSL */ export declare function hexToHsl(hex: string): HSL; /** * Convert HSL to hex */ export declare function hslToHex(hsl: HSL): string; /** * Lighten a color */ export declare function lighten(hex: string, amount: number): string; /** * Darken a color */ export declare function darken(hex: string, amount: number): string; /** * Saturate a color */ export declare function saturate(hex: string, amount: number): string; /** * Desaturate a color */ export declare function desaturate(hex: string, amount: number): string; /** * Adjust hue of a color */ export declare function adjustHue(hex: string, degrees: number): string; /** * Get complementary color (opposite on color wheel) */ export declare function complementary(hex: string): string; /** * Get triadic colors (120° apart) */ export declare function triadic(hex: string): [string, string]; /** * Get analogous colors (30° apart) */ export declare function analogous(hex: string): [string, string]; /** * Get split-complementary colors (150° and 210°) */ export declare function splitComplementary(hex: string): [string, string]; /** * Mix two colors */ export declare function mixColors(hex1: string, hex2: string, weight?: number): string; /** * Derive a full semantic color palette from a primary color */ export declare function deriveFromPrimary(primaryHex: string, isDark?: boolean): SemanticColors; /** * Get perceived brightness of a color (0-255) */ export declare function getBrightness(hex: string): number; /** * Check if a color is "dark" */ export declare function isDarkColor(hex: string): boolean; /** * Get relative luminance for WCAG calculations */ export declare function getRelativeLuminance(hex: string): number; /** * Calculate contrast ratio between two colors */ export declare function getContrastRatio(hex1: string, hex2: string): number; /** * Generate a color scale from a base color */ export declare function generateColorScale(hex: string, steps?: number): string[]; /** * Export a theme to JSON string */ export declare function exportThemeToJson(theme: ExtendedTheme): string; /** * Import a theme from JSON string */ export declare function importThemeFromJson(json: string): ExtendedTheme | null; /** * Duplicate a theme with a new name */ export declare function duplicateTheme(theme: ExtendedTheme, newName: string): ExtendedTheme; //# sourceMappingURL=color-utils.d.ts.map