import { Color, FontSize, FontWeight, IconSize, LineHeight, Radius, Shadow, Transition, Unit, UnitPx } from './constants';
import { ConfigurationType } from './config';
import { Palette } from './palette';
declare module 'styled-components' {
    interface DefaultTheme {
        /**
         * Register top-level theme keys here and their types
         * to construct the Theme schema from discrete parts
         * - Provides some validation when providing an external theme
         * - Enables auto-completion in styled components.
         */
        _config: ConfigurationType;
        _color: typeof Color;
        fontSize: typeof FontSize;
        fontWeight: typeof FontWeight;
        lineHeight: typeof LineHeight;
        iconSize: typeof IconSize;
        radius: typeof Radius;
        shadow: typeof Shadow;
        transition: typeof Transition;
        unit: typeof Unit;
        px: typeof UnitPx;
        palette: Record<keyof typeof Palette, string>;
        selectedScheme: 'light' | 'dark';
    }
}
