import React, { ReactNode } from 'react'; import type { LocalThemeConfigType } from '../propsType'; export interface AntdThemeConfigType { token?: { colorPrimary?: string; [key: string]: any; }; components?: { [key: string]: any; }; } export interface ThemeStateType { localConfig: LocalThemeConfigType; antdConfig: AntdThemeConfigType; cssVariables: Record; } interface ThemeContextType { state: ThemeStateType; updateLocalConfig: (config: Partial) => void; updateAntdConfig: (config: AntdThemeConfigType) => void; updateCssVariables: (variables: Record) => void; resetTheme: () => void; loadFromCache: (cacheState: ThemeStateType) => void; } declare const defaultThemeConfig: LocalThemeConfigType; export declare const registerThemeUpdaters: (updaters: { updateAntdConfig: (config: AntdThemeConfigType) => void; updateCssVariables: (variables: Record) => void; updateLocalConfig: (config: Partial) => void; }) => void; export declare const getThemeUpdaters: () => { updateAntdConfig: (config: AntdThemeConfigType) => void; updateCssVariables: (variables: Record) => void; updateLocalConfig: (config: Partial) => void; }; interface ThemeProviderProps { children: ReactNode; initialLocalConfig?: Partial; initialAntdConfig?: AntdThemeConfigType; } export declare const ThemeProvider: React.FC; export declare const useTheme: () => ThemeContextType; export { defaultThemeConfig };