import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React$1 from 'react';

type Theme = "dark" | "light" | "system";
type ThemeProviderProps = {
    children: React.ReactNode;
    defaultTheme?: Theme;
    storageKey?: string;
};
type ThemeProviderState = {
    theme: Theme;
    setTheme: (theme: Theme) => void;
};
declare const ThemeProviderContext: React$1.Context<ThemeProviderState>;
declare function ThemeProvider({ children, defaultTheme, storageKey, ...props }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
declare const useTheme: () => ThemeProviderState;

export { ThemeProvider, ThemeProviderContext, type ThemeProviderProps, type ThemeProviderState, useTheme };
