import { ThemeColorName } from '../../tokens/colors'; /** * Extended color type that includes theme colors and the special `'transparent'` value. */ export type ExtendedColor = ThemeColorName | 'transparent'; /** * Theme appearance mode. * Either `'light'` or `'dark'`. */ export type Mode = 'light' | 'dark'; /** * Background style variant. * - `'solid'`: Full-intensity solid background * - `'light'`: Light, subtle background * - `'soft'`: Medium-intensity background * - `'lighter'`: Very subtle background */ export type BackgroundVariant = 'solid' | 'light' | 'soft' | 'lighter'; /** * Foreground color tone for text and icons. * - `'solid'`: High-contrast, vibrant color * - `'soft'`: Lower-contrast, muted color */ export type ForegroundTone = 'solid' | 'soft'; /** * Computes background and text colors for a given color, variant, and theme mode. * Applies variant-specific styling (solid, light, soft, lighter) and mode-specific shades. * * @param color - The theme color name * @param variant - The background style variant * @param mode - The theme mode ('light' or 'dark') * @returns An object containing `backgroundColor` and `textColor` CSS values * * @example * ```ts * const { backgroundColor, textColor } = backgroundValue('primary', 'solid', 'light') * // Returns: { backgroundColor: 'var(--color-primary-500)', textColor: 'var(--color-white)' } * ``` */ export declare function backgroundValue(color: ExtendedColor, variant: BackgroundVariant, mode: Mode): { backgroundColor: string; textColor: string; }; /** * Computes hover state background and text colors for interactive elements. * Applies darker/lighter shades depending on the variant and mode. * * @param color - The theme color name * @param variant - The background style variant ('solid', 'light', or 'soft') * @param mode - The theme mode ('light' or 'dark') * @returns An object containing `backgroundColor` and `textColor` CSS values for hover state * * @example * ```ts * const hover = hoverBackgroundValue('primary', 'solid', 'dark') * // Returns darker shade for hover effect * ``` */ export declare function hoverBackgroundValue(color: ExtendedColor, variant: 'solid' | 'light' | 'soft', mode: Mode): { backgroundColor: string; textColor: string; }; /** * Computes the border color for a given color and theme mode. * Uses medium-intensity shades (500 for light, 600 for dark). * * @param color - The theme color name * @param mode - The theme mode ('light' or 'dark') * @returns A CSS color value string * * @example * ```ts * const border = borderColorValue('primary', 'light') * // Returns 'var(--color-primary-500)' * ``` */ export declare function borderColorValue(color: ExtendedColor, mode: Mode): string; /** * Computes the text color for a given color and theme mode. * Uses high-contrast shades (800 for light, 200 for dark) for readability. * * @param color - The theme color name * @param mode - The theme mode ('light' or 'dark') * @returns A CSS color value string * * @example * ```ts * const text = textColorValue('primary', 'light') * // Returns 'var(--color-primary-800)' * ``` */ export declare function textColorValue(color: ExtendedColor, mode: Mode): string; /** * Computes the foreground color (for icons, accents) with a specified tone. * Supports both solid (vibrant) and soft (muted) tones. * * @param color - The theme color name * @param tone - The foreground tone ('solid' for vibrant, 'soft' for muted) * @param mode - The theme mode ('light' or 'dark') * @returns A CSS color value string * * @example * ```ts * const icon = foregroundColorValue('success', 'solid', 'light') * // Returns 'var(--color-success-500)' * * const mutedIcon = foregroundColorValue('success', 'soft', 'light') * // Returns 'var(--color-success-300)' * ``` */ export declare function foregroundColorValue(color: ThemeColorName, tone: ForegroundTone, mode: Mode): string;