/**
 * Color Contrast Utilities
 *
 * Functions for checking color contrast ratios and ensuring accessibility.
 * Based on WCAG 2.1 guidelines for color contrast.
 */
/**
 * Parse hex color to RGB values
 */
export declare function hexToRgb(hex: string): {
    r: number;
    g: number;
    b: number;
} | null;
/**
 * Convert RGB to hex
 */
export declare function rgbToHex(r: number, g: number, b: number): string;
/**
 * Calculate relative luminance of a color
 * https://www.w3.org/WAI/GL/wiki/Relative_luminance
 */
export declare function getRelativeLuminance(r: number, g: number, b: number): number;
/**
 * Calculate contrast ratio between two colors
 * https://www.w3.org/WAI/GL/wiki/Contrast_ratio
 *
 * @returns Contrast ratio (1 to 21)
 */
export declare function getContrastRatio(color1: {
    r: number;
    g: number;
    b: number;
}, color2: {
    r: number;
    g: number;
    b: number;
}): number;
/**
 * Check contrast ratio between two hex colors
 */
export declare function checkContrast(fg: string, bg: string): number;
/**
 * WCAG contrast level
 */
export type WcagLevel = "AAA" | "AA" | "AA-large" | "fail";
/**
 * Check if contrast meets WCAG requirements
 *
 * - AAA: >= 7:1 for normal text, >= 4.5:1 for large text
 * - AA: >= 4.5:1 for normal text, >= 3:1 for large text
 */
export declare function getWcagLevel(ratio: number, isLargeText?: boolean): WcagLevel;
/**
 * Suggest a better color for accessibility
 * Adjusts lightness to meet minimum contrast
 */
export declare function suggestAccessibleColor(fg: string, bg: string, targetRatio?: number): string | null;
/**
 * Convert RGB to HSL
 */
export declare function rgbToHsl(r: number, g: number, b: number): {
    h: number;
    s: number;
    l: number;
};
/**
 * Convert HSL to RGB
 */
export declare function hslToRgb(h: number, s: number, l: number): {
    r: number;
    g: number;
    b: number;
};
/**
 * Named terminal colors to approximate hex values
 * These are approximations as terminal colors vary by terminal emulator
 */
export declare const TERMINAL_COLORS: Record<string, string>;
/**
 * Convert terminal color name to hex
 */
export declare function terminalColorToHex(colorName: string): string | null;
/**
 * Check if a terminal color pair has sufficient contrast
 */
export declare function checkTerminalContrast(fg: string, bg?: string): {
    ratio: number;
    level: WcagLevel;
} | null;
/**
 * Validate a theme's color contrast
 */
export declare function validateThemeContrast(colors: Record<string, string>, backgroundColor?: string): Array<{
    color: string;
    ratio: number;
    level: WcagLevel;
    warning: boolean;
}>;
declare const _default: {
    hexToRgb: typeof hexToRgb;
    rgbToHex: typeof rgbToHex;
    getRelativeLuminance: typeof getRelativeLuminance;
    getContrastRatio: typeof getContrastRatio;
    checkContrast: typeof checkContrast;
    getWcagLevel: typeof getWcagLevel;
    suggestAccessibleColor: typeof suggestAccessibleColor;
    rgbToHsl: typeof rgbToHsl;
    hslToRgb: typeof hslToRgb;
    terminalColorToHex: typeof terminalColorToHex;
    checkTerminalContrast: typeof checkTerminalContrast;
    validateThemeContrast: typeof validateThemeContrast;
    TERMINAL_COLORS: Record<string, string>;
};
export default _default;
