import type { DefaultTheme, StyledOptions } from 'styled-components';
import { wcagContrast } from './constants';
interface ContrastOptions {
    mode?: 'light' | 'dark' | 'both';
    level?: keyof typeof wcagContrast | number;
}
export declare const backgroundCompatibleColors: (colors: string[], backgroundColor: string, { level }?: Pick<ContrastOptions, "level">) => string[];
export declare const supplementalColors: (theme: DefaultTheme) => string[];
export declare const supplementalColorMapping: {
    readonly 'Supplemental Color 1': "color-1";
    readonly 'Supplemental Color 2': "color-2";
    readonly 'Supplemental Color 3': "color-3";
    readonly 'Supplemental Color 4': "color-4";
    readonly 'Supplemental Color 5': "color-5";
    readonly 'Supplemental Color 6': "color-6";
    readonly 'Supplemental Color 7': "color-7";
    readonly 'Supplemental Color 8': "color-8";
};
export declare const resolveSupplementalColor: (theme: DefaultTheme, key: string) => string | undefined;
export declare const infiniteSupplementalColors: (theme: DefaultTheme, index: number) => string;
export declare const isSolidColor: (background: string) => boolean | undefined;
export declare const readableColor: (color: string, { mode, level }?: ContrastOptions) => string;
export declare const getHoverColors: (color: string) => {
    background: string | undefined;
    foreground: string | undefined;
};
export declare const getActiveColors: (color: string) => {
    background: string | undefined;
    foreground: string | undefined;
};
export declare const readableHue: (color1: string, color2: string, { mode, level }?: ContrastOptions) => string;
export declare const getReadableStatusColor: (theme: DefaultTheme, status: "success" | "warning" | "error" | "pending") => string;
export declare const omitProps: <O extends object = Record<PropertyKey, unknown>>(...props: string[]) => StyledOptions<"web", O>;
export type FontSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
export declare const colorIconMapping: (theme: DefaultTheme, iconName: string) => string;
export declare const calculateFontSize: (baseFontSize: string, baseFontScale: string | number) => Record<FontSize, string>;
export declare const calculateForegroundColor: (background: string, foregroundColor: string) => string;
export declare const calculateBackgroundAndContrastColor: (background: string, foregroundColor: string) => {
    contrastColor: string;
    backgroundColor: string;
};
export declare const getTranslucentColor: (color: string) => string;
/**
 * Converts a CSS time value to a number in milliseconds.
 *
 * @param time - The CSS time value as a string (e.g: "2s", "500ms") or a number. If undefined, returns 0.
 * @returns The time value in milliseconds.
 *   If the input is a number, it is returned as is.
 *   If the input is a string, it is parsed and converted to milliseconds.
 */
export declare const getCSSTimeInMilliseconds: (time: string | number | undefined) => number;
/**
 * Compares two color strings to determine if they are equivalent.
 *
 * Parses both color strings into RGB values and compares their red, green, blue,
 * and alpha components. Returns false if either color string cannot be parsed.
 *
 * @param color1 - The first color string to compare
 * @param color2 - The second color string to compare
 * @returns True if both colors have identical RGBA values, false otherwise
 *
 * @example
 * isSameColor('#FF0000', 'rgb(255, 0, 0)') // true
 * isSameColor('#FF0000', '#00FF00') // false
 * isSameColor('invalid', '#FF0000') // false
 */
export declare const isSameColor: (color1: string, color2: string) => boolean;
export {};
//# sourceMappingURL=utils.d.ts.map