export interface ThemeOption {
    value: string;
    class: string;
    icon: string;
    label: string;
    isDark?: boolean;
}
declare function toggleTheme(): void;
declare function addTheme(theme: ThemeOption): void;
/**
 * Provides a way to manage the theme of the application.
 *
 * The theme is stored in localStorage and can be toggled between 'dark', 'light', and 'system'.
 * The theme is applied to the document root's classList when the theme is active.
 * the classes are 'bgl-dark-mode', 'bgl-light-mode', and 'system'.
 *
 * Example usage:
 * const { theme, isDark, toggleTheme, addTheme, setTheme } = useTheme()
 * theme.value = 'dark'
 * isDark.value = true
 * toggleTheme()
 * addTheme({ value: 'ocean', label: 'Ocean Blue', class: 'ocean-blue', isDark: false })
 * setTheme('ocean')
 */
export declare function useTheme(): {
    isDark: import('vue').Ref<boolean, boolean>;
    theme: import('vue').ComputedRef<string>;
    themeOptions: import('vue').Ref<{
        value: string;
        class: string;
        icon: string;
        label: string;
        isDark?: boolean | undefined;
    }[], ThemeOption[] | {
        value: string;
        class: string;
        icon: string;
        label: string;
        isDark?: boolean | undefined;
    }[]>;
    toggleTheme: typeof toggleTheme;
    addTheme: typeof addTheme;
    setTheme: (value: string) => void;
};
export {};
//# sourceMappingURL=useTheme.d.ts.map