export interface ChatbotTheme {
    primary: string;
    secondary: string;
    background: string;
    surface: string;
    text: {
        primary: string;
        secondary: string;
        inverse: string;
    };
    border: string;
    shadow: string;
    success: string;
    warning: string;
    error: string;
    radius: {
        sm: string;
        md: string;
        lg: string;
        full: string;
    };
    spacing: {
        xs: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    typography: {
        fontFamily: string;
        fontSize: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
            xl: string;
        };
        fontWeight: {
            normal: string;
            medium: string;
            semibold: string;
            bold: string;
        };
    };
}
export declare const defaultTheme: ChatbotTheme;
export declare const darkTheme: ChatbotTheme;
export declare const compactTheme: ChatbotTheme;
export declare const themes: {
    readonly default: ChatbotTheme;
    readonly dark: ChatbotTheme;
    readonly compact: ChatbotTheme;
};
export type ThemeName = keyof typeof themes;
export declare function getThemeVariables(theme: ChatbotTheme): Record<string, string>;
export declare function applyTheme(theme: ChatbotTheme, element?: HTMLElement): void;
export declare function createThemeStylesheet(theme: ChatbotTheme): string;
export declare function generateThemeClasses(theme: ChatbotTheme): {
    button: {
        primary: string;
        secondary: string;
    };
    input: string;
    surface: string;
    text: {
        primary: string;
        secondary: string;
        inverse: string;
    };
};
export declare function useTheme(initialTheme?: ThemeName): {
    currentTheme: "default" | "dark" | "compact";
    theme: ChatbotTheme;
    changeTheme: (themeName: ThemeName) => void;
    availableThemes: ThemeName[];
};
//# sourceMappingURL=theme-config.d.ts.map