import styled, { ThemeProps as StyledThemeProps } from 'styled-components';
import { ExpandableBoxTheme } from './components';
export { styled };
export interface RendererTheme {
    backgroundColor: string;
    color: string;
    primary: {
        color: string;
        background: string;
    };
    secondary: {
        color: string;
        background: string;
    };
    success: {
        color: string;
        background: string;
    };
    info: {
        color: string;
        background: string;
    };
    warning: {
        color: string;
        background: string;
    };
    danger: {
        color: string;
        background: string;
    };
}
export declare const defaultRendererTheme: RendererTheme;
export interface RendererUiTheme {
    expandableBox: ExpandableBoxTheme;
}
export declare type RendererThemeProps = StyledThemeProps<{
    renderer: RendererTheme;
    rendererUi: RendererUiTheme;
}>;
export declare function useRendererTheme(): {
    renderer: RendererTheme;
    rendererUi: RendererUiTheme;
};
export declare function createRendererUiTheme<T>(createDefaultTheme: (theme: RendererTheme) => T): (key: "expandableBox", theme: {
    renderer: RendererTheme;
    rendererUi: RendererUiTheme;
}) => T;
export declare function useRendererUiTheme<T>(key: keyof RendererUiTheme, createDefaultTheme: RendererUiThemeFactory<T>): T;
export declare type RendererUiThemeFactory<T> = (theme: RendererTheme) => T;
//# sourceMappingURL=theme.d.ts.map