import { ThemeContext } from '@emotion/core';
import { Interpolation } from 'emotion';
import { theme as defaultTheme } from './theme';
export declare type DefaultTheme = typeof defaultTheme;
export declare type ThemeColor = keyof DefaultTheme['color'];
/**
 * @todo type friendly for custom theme.
 */
export declare type Theme = DefaultTheme & {
    [key: string]: any;
};
export declare type DynamicStyle<K extends string> = (theme: Theme, deps: any[], classes: Classes<K>) => Interpolation;
export declare type Style<K extends string> = string | DynamicStyle<K>;
export declare type Styles<K extends string> = ReadonlyArray<[K, Style<K>]>;
export declare type Classes<K extends string> = {
    [className in K]: string;
};
export { defaultTheme, ThemeContext };
export declare function useTheme(): {
    color: {
        primary: {
            active: string;
            default: string;
            hover: string;
            disabled: string;
            background: string;
            lightBackground: string;
        };
        secondary: {
            active: string;
            default: string;
            hover: string;
            disabled: string;
            background: string;
        };
        thirdary: {
            active: string;
            default: string;
            hover: string;
            disabled: string;
            background: string;
        };
        text: {
            white: string;
            B6: string;
            B5: string;
            B4: string;
            B3: string;
            B2: string;
            B: string;
            HB: string;
            F: string;
        };
        semantic: {
            success: string;
            info: string;
            warning: string;
            error: string;
            enterprise: string;
            team: string;
            pro: string;
        };
    };
    typography: {
        fontSize: {
            h1: number;
            h2: number;
            h3: number;
            h4: number;
            h5: number;
            h6: number;
            p: number;
            span: number;
            div: number;
        };
        fontWeight: {
            normal: number;
            medium: number;
            bold: number;
        };
    };
    zIndex: {
        mobileStepper: number;
        speedDial: number;
        appBar: number;
        drawer: number;
        modal: number;
        snackbar: number;
        tooltip: number;
    };
};
export declare function makeStyles<K extends string>(styles: Styles<K>): (deps?: any[]) => Classes<K>;
