import type { ReactNode } from 'react'; import type { Theme } from '@vtex/admin-styles'; export interface ContextValue { EMOTION_VERSION: string; theme: Theme; } export declare const Context: import("react").Context; export declare const useThemeContext: () => ContextValue; /** * Deeply merge themes */ export declare const mergeThemes: { (a: Theme, b: Theme): Theme; all: typeof mergeAll; }; declare function mergeAll(a: A, B: B): A & B; declare function mergeAll(a: A, B: B, c: C): A & B & C; declare function mergeAll(a: A, B: B, c: C, d: D): A & B & C & D; interface BaseProviderProps { context: ContextValue; children?: ReactNode; } export interface ThemeProviderProps { theme: Theme | ((outerTheme: Theme) => Theme); children?: ReactNode; } export declare function ThemeProvider({ theme, children }: ThemeProviderProps): import("react").ReactElement import("react").ReactElement import("react").Component)> | null) | (new (props: any) => import("react").Component)>; export {};