import type { Theme } from '../../schema';
/**
 * Calculate contrast ratio between two colors
 * https://www.w3.org/TR/WCAG20/#contrast-ratiodef
 *
 * Returns a ratio from 1:1 (no contrast) to 21:1 (maximum contrast)
 * WCAG AA requires 4.5:1 for normal text, 3:1 for large text
 */
export declare function getContrastRatio(hex1: string, hex2: string): number;
/**
 * Check if contrast ratio meets WCAG AA standard (4.5:1)
 */
export declare function hasGoodContrast(hex1: string, hex2: string): boolean;
/**
 * Select appropriate text color based on background color and theme mode
 *
 * Logic:
 * - Light theme: Try white → text color → black
 * - Dark theme: Try background → text color → white
 *
 * Returns the color token name that has sufficient contrast
 */
export declare function selectTextColorToken(backgroundHex: string, theme: Theme, isLightTheme: boolean): string;
/**
 * Get contrasting text color for a button background
 *
 * This function returns theme-aware text colors using the neutral scale,
 * which is guaranteed to exist in every theme and harmonizes with the design.
 *
 * Uses neutral-50 (lightest) for dark backgrounds and neutral-950 (darkest)
 * for light backgrounds. This ensures excellent contrast while respecting
 * the theme's neutral palette (warm/cool tinting).
 *
 * For solid backgrounds with primary/secondary/neutral colors:
 * - Dark backgrounds (shade >= 500): neutral-50 (very light)
 * - Light backgrounds (shade < 500): neutral-950 (very dark)
 */
export declare function getContrastingTextColorToken(backgroundToken: string, theme: Theme): string;
