/** * Fluent Grow Color System * ------------------------ * Provides palette management, OKLCH conversions, harmonies, and helpers for * applying tokenised colour schemes to DOM nodes or global scopes. */ import { toOKLCH, fromOKLCH, type OKLCHColor } from './oklch'; import { ColorPalette, type PaletteDefinition, type PaletteLevel } from './palette'; import { getContrastRatio, isAccessible } from './contrast'; import { generateHarmony, type HarmonyType } from './harmony'; export * from './presets'; export interface PaletteMap { [name: string]: ColorPalette; } export interface ApplyOptions { background?: string; color?: string; borderColor?: string; accent?: string; } export interface ColorThemeDefinition { name: string; palettes: Record; } export type ThemeListener = (theme: ColorThemeDefinition) => void; export declare class ColorManager { private palettes; private themes; private activeTheme?; private listeners; registerPalette(name: string, definition: PaletteDefinition): this; removePalette(name: string): this; getPalette(name: string): ColorPalette | undefined; getColor(palette: string, level: PaletteLevel): string | undefined; generateHarmony(base: string, type: HarmonyType): string[]; adjustLightness(color: string, delta: number): string; toOKLCH(color: OKLCHColor): string; fromOKLCH(value: string): OKLCHColor | null; mix(base: string, mixColor: string, percentage: number): string; /** * Returns a colour with progressive enhancement: * - Prefer OKLCH or P3 input as-is in capable browsers * - Fallback to sRGB or provided fallback when not supported * - Automatically convert OKLCH to RGB if needed */ resolveWithFallback(primary: string, fallback?: string): string; /** * Converts OKLCH color to RGB fallback */ private oklchToRgbFallback; /** * Converts color-mix() to RGB fallback */ private colorMixToRgbFallback; registerTheme(theme: ColorThemeDefinition): this; onThemeChange(listener: ThemeListener): () => void; getActiveTheme(): string | undefined; applyTheme(name: string, root?: HTMLElement): void; applyToElement(element: HTMLElement, options: ApplyOptions): void; gradient(palette: string, ...levels: PaletteLevel[]): string | undefined; contrast(foreground: string, background: string): number; isAccessible(foreground: string, background: string, level?: 'AA' | 'AAA'): boolean; } export declare const ColorUtils: { toOKLCH: typeof toOKLCH; fromOKLCH: typeof fromOKLCH; generateHarmony: typeof generateHarmony; getContrastRatio: typeof getContrastRatio; isAccessible: typeof isAccessible; mix(base: string, mixColor: string, percentage: number): string; resolveWithFallback(primary: string, fallback?: string): string; }; //# sourceMappingURL=index.d.ts.map