import type { ValueOrArray } from '../types';
import { UnitlessOpacity } from './Opacity';
export declare type RGBString = `rgb(${number}, ${number}, ${number})`;
export declare type RGBAString = `rgba(${number}, ${number}, ${number}, ${number})`;
export declare type HEXString = `#${string}`;
export declare enum ColorMode {
    DARK = "dark",
    LIGHT = "light"
}
export declare const defaultColorMode = ColorMode.DARK;
export declare enum BaseColors {
    Midnight = "#0C0A1D",
    White = "#FFFFFF",
    Purple = "#6F4CFF",
    Blue = "#4C66FF",
    Turquoise = "#66D8FF",
    Green = "#4BCA81",
    Yellow = "#FFA801",
    Red = "#ED4A6D",
    Gray = "#494755"
}
export declare enum ColorAlias {
    Background = 0,
    TextBright = 1,
    Text = 2,
    TextDim = 3,
    TextDimmer = 4,
    TextDisabled = 5,
    Text16 = 6,
    Text8 = 7,
    Tooltip = 8,
    Panes = 9,
    Chip = 10
}
export declare type ColorName = `${keyof typeof BaseColors}${Exclude<UnitlessOpacity, '100'> | ''}` | keyof typeof ColorAlias;
export declare type ColorValue = HEXString | RGBString | RGBAString;
export declare type SxColor = ColorName | ColorValue | 'transparent' | 'currentColor' | 'inherit';
export declare type Colors = {
    [key in ColorName]: ColorValue;
};
export declare type ColorAliases = {
    [key in keyof typeof ColorAlias]: ValueOrArray<Exclude<ColorName, keyof typeof ColorAlias>>;
};
export declare const overlayColors: (colorValues: ColorValue[]) => ColorValue;
export declare const colorsByMode: Record<ColorMode, Colors>;
