import React from 'react';
type ThemeName = 'dark' | 'light';
type ThemeSetting = ThemeName | 'auto';
type ThemeContextValue = {
    themeSetting: ThemeSetting;
    setThemeSetting: (setting: ThemeSetting) => void;
    setPreviewTheme: (setting: ThemeSetting) => void;
    savePreview: () => void;
    cancelPreview: () => void;
    currentTheme: ThemeName;
};
export declare function useTheme(): [ThemeName, ThemeContextValue];
export declare function usePreviewTheme(): (setting: ThemeSetting) => void;
export declare function ThemeProvider({ children }: {
    children: React.ReactNode;
}): React.ReactNode;
export declare function useThemeSetting(): [ThemeSetting, (s: ThemeSetting) => void];
export type { ThemeName, ThemeSetting };
