import { DefaultTheme, StyledProps } from 'styled-components';
import { StatusType } from '../../HOC';
import { Palette } from './palette';
export type ComponentVariants = {
    [key: string]: {
        [key: string]: any;
    };
};
/**
 * Get the CSS associated with a variant key
 * @param variants  -- Component variants data structure
 * @param variantProp -- The key (enum) for looking up the variant value
 * @todo This needs to be typed better
 */
export declare const getVariantCSS: (variants: ComponentVariants, variantProp: string) => (props: StyledProps<any>) => any;
/**
 * Build :root { --var } key value pairs from Palette
 */
export declare const getRootCssVars: ({ theme }: {
    theme: DefaultTheme;
}) => string;
/**
 * Lazy Load font-faces based on Theme Configuration
 */
export declare const getFontFaces: ({ theme }: {
    theme: DefaultTheme;
}) => import("styled-components").FlattenSimpleInterpolation;
/**
 * Retrive the correct palette value based on the provided status type.
 * Falls back to optionally provided palette key, then to 'inherit'.
 */
export declare const getStatusColor: (theme: DefaultTheme, status?: StatusType, defaultKey?: keyof typeof Palette) => string;
