import { ReactNode } from 'react';
import { Palette } from "./palette";
import { Font } from "./font";
export declare type ThemeProps = {
    palette: Palette;
    font?: Record<string, Font>;
    primaryButton?: (prop: ThemeProps) => any;
    coloredButton?: (prop: ThemeProps) => any;
    checkButton?: (prop: ThemeProps) => any;
    typography?: any;
    overwrite?: any;
};
export declare type Theme = {
    theme: ThemeProps;
    adornmentEnd?: string | ReactNode;
    adornmentStart?: string | ReactNode;
    type?: string;
};
export declare const defaultTheme: {
    palette: {
        boxShadow: string;
        primary: string;
        primary_dark: string;
        light: string;
        light_hover: string;
        black: string;
        dark_black: string;
        white: string;
        extra_light: string;
        gray: string;
        light_gray: string;
        gray_200: string;
        gray_300: string;
        error: string;
        gray_400: string;
        gray_500: string;
    };
    font: Record<string, Font>;
    primaryButton: ({ palette, overwrite }: ThemeProps) => any;
    coloredButton: ({ palette }: ThemeProps) => {
        borderRadius: string;
        height: string;
        background: string;
        color: string;
        transition: string;
        '&>p': {
            fontSize: string;
        };
        '&:hover': {};
        '&:active': {
            boxShadow: string;
        };
    };
    checkButton: ({ palette }: ThemeProps) => {
        '& $checkWrapper': {
            marginLeft: number;
            minWidth: number;
            width: number;
            height: number;
            background: string;
            position: string;
            right: string;
            display: string;
            justifyContent: string;
            alignItems: string;
            borderRadius: string;
        };
        '& $checkIconCl': {
            width: number;
            '& path': {
                color: string;
            };
        };
        '& $childrenStyle': {
            paddingRight: string;
        };
        '& $centeredChildren': {
            width: string;
            paddingLeft: string;
            "@media (max-width: 365px)": {
                paddingLeft: number;
            };
        };
        display: string;
        justifyContent: string;
        alignItems: string;
    };
    typography: {
        body1: {
            color: ({ theme: { palette } }: Theme) => string;
            fontSize: string;
            lineHeight: string;
            fontWeight: number;
            fontFamily: string;
            margin: number;
        };
        h2: {
            fontWeight: number;
            margin: number;
            fontFamily: string;
            fontSize: string;
            lineHeight: string;
            '&:first-letter': {
                'text-transform': string;
            };
            color: ({ theme: { palette } }: Theme) => string;
        };
        h3: {
            fontWeight: number;
            '&:first-letter': {
                'text-transform': string;
            };
            color: ({ theme: { palette } }: Theme) => string;
            fontSize: string;
            lineHeight: string;
            fontFamily: string;
            margin: number;
        };
        h4: {
            fontSize: string;
            lineHeight: string;
            '&:first-letter': {
                'text-transform': string;
            };
            fontWeight: number;
            color: ({ theme: { palette } }: Theme) => string;
            fontFamily: string;
            margin: number;
        };
        label: {
            margin: number;
            fontFamily: string;
            fontWeight: number;
            fontSize: string;
            lineHeight: string;
            '&:first-letter': {
                'text-transform': string;
            };
            color: ({ theme: { palette } }: Theme) => string;
        };
        title: {
            padding: number;
            fontWeight: number;
            fontSize: number;
            fontFamily: string;
            lineHeight: string;
            textAlign: string;
            letterSpacing: string;
            margin: number;
            '&:first-letter': {
                'text-transform': string;
            };
        };
        bigTitle: {
            fontSize: number;
            lineHeight: string;
            padding: number;
            fontWeight: number;
            fontFamily: string;
            textAlign: string;
            letterSpacing: string;
            margin: number;
            '&:first-letter': {
                'text-transform': string;
            };
        };
    };
};
export declare const theming: import("theming").Theming<ThemeProps>;
