import { ReactNode } from 'react';
export interface VoxketTheme {
    name: string;
    colors: {
        primary: string;
        secondary: string;
        accent: string;
        background: string;
        surface: string;
        text: {
            primary: string;
            secondary: string;
            muted: string;
            inverse: string;
        };
        status: {
            success: string;
            warning: string;
            error: string;
            info: string;
        };
        border: string;
        shadow: string;
    };
    typography: {
        fontFamily: string;
        fontSize: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
            xl: string;
        };
        fontWeight: {
            normal: number;
            medium: number;
            semibold: number;
            bold: number;
        };
        lineHeight: {
            tight: number;
            normal: number;
            relaxed: number;
        };
    };
    spacing: {
        xs: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    borderRadius: {
        none: string;
        sm: string;
        md: string;
        lg: string;
        full: string;
    };
    shadows: {
        sm: string;
        md: string;
        lg: string;
    };
    components?: {
        [componentName: string]: Record<string, any>;
    };
}
export declare const defaultTheme: VoxketTheme;
export declare const darkTheme: VoxketTheme;
export declare const enterpriseTheme: VoxketTheme;
export interface ThemeContextValue {
    theme: VoxketTheme;
    setTheme: (theme: VoxketTheme | string) => void;
    themes: Record<string, VoxketTheme>;
    registerTheme: (theme: VoxketTheme) => void;
}
export declare const useTheme: () => ThemeContextValue;
export interface ThemeProviderProps {
    theme?: VoxketTheme | string;
    themes?: Record<string, VoxketTheme>;
    children: ReactNode;
    cssVariables?: boolean;
    className?: string;
}
export declare function ThemeProvider({ theme, themes: customThemes, children, cssVariables, className }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function flattenTheme(theme: VoxketTheme): Record<string, string>;
export declare function createCustomTheme(baseTheme: VoxketTheme | undefined, overrides: Partial<VoxketTheme>): VoxketTheme;
export declare function useComponentTheme(componentName: string): Record<string, any>;
