import type { StyledConfig } from 'styled-components';
import type { ContrastScores } from 'polished/lib/types/color';
declare const wcagContrast: Record<keyof ContrastScores | 'AANonText', number>;
interface ContrastOptions {
    mode?: 'light' | 'dark' | 'both';
    level?: keyof typeof wcagContrast | number;
}
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 omitProps: <O extends object = Record<PropertyKey, unknown>>(...props: [prop: keyof O, ...props: (keyof O)[]]) => StyledConfig<O>;
export type FontSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl';
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;
export {};
//# sourceMappingURL=utils.d.ts.map