export type _FelaRenderer = import('fela').IRenderer;
export type _FelaPlugin = import('fela').TPlugin;
export type _CssTypeProperties = import('csstype').Properties;
export type _FelaEnhancer = (renderer: _FelaRenderer) => _FelaRenderer;
/**
 * A valid base CSS value e.g. "4px", 4, "red".
 */
export type CssValue = string | number;
/**
 * A valid CSS property e.g. "backgroundColor", "paddingLeft".
 */
export type CssProperty = keyof _CssTypeProperties;
/**
 * Map of CSS variables to CSS values.
 */
export type CssVariables = Record<string, CssValue>;
/**
 * A theme property.
 */
export type ThemeProperty = string;
/**
 * A theme spec relates theme properties with CSS properties.
 */
export type ThemeSpec = Record<ThemeProperty, Array<CssProperty>>;
/**
 * Recursive helper type.
 */
export type ThemeRecursive = {
    [key: string]: CssValue | ThemeRecursive;
};
/**
 * A theme relates theme properties with CSS values (recursive).
 */
export type Theme = Record<ThemeProperty, ThemeRecursive>;
/**
 * Style values can be specified as either singleton or array of CSS values.
 */
export type StyleValue = CssValue | Array<CssValue>;
/**
 * Mapping of CSS properties to style values.
 */
export type StyleCssProperties = _CssTypeProperties & Record<string, StyleValue>;
/**
 * ;
 *    Recursive helper type.
 */
export type StyleRecursiveAny = {
    [key: string]: StyleValue | StyleCssProperties | StyleRecursiveAny | StyleRecursivePseudo;
};
/**
 * ;
 *    Recursive helper type.
 */
export type StyleRecursivePseudo = {
    [key: string]: StyleValue | StyleCssProperties | StyleRecursiveAny | StyleRecursivePseudo;
};
/**
 * A style object.
 */
export type StyleObject = StyleCssProperties | StyleRecursivePseudo | StyleRecursiveAny;
export type StyleRule<P = unknown> = (props: P) => StyleObject;
/**
 * A style can be either a style object or a style rule.
 */
export type Style = StyleObject | StyleRule;
