import React from 'react'; import { FullTheme, Theme } from './theme'; declare type RecursivePartial = { [P in keyof T]?: RecursivePartial; }; export interface ThemeProps { theme: Theme; updateTheme: (updates: RecursivePartial) => void; replaceTheme: (updates: RecursivePartial) => void; } export declare const ThemeContext: React.Context>; export declare type ThemeProviderProps = { useDark?: boolean; }; declare type ThemeProviderState = { theme: Theme; useDark: boolean; }; export default class ThemeProvider extends React.Component { static defaultProps: { theme: {}; useDark: boolean; }; defaultTheme: Partial; constructor(props: { theme: Theme; useDark?: boolean; }); static getDerivedStateFromProps(props: { theme: Theme; useDark?: boolean; }, state: ThemeProviderState): { theme: FullTheme; useDark: boolean; }; updateTheme: (updates: RecursivePartial) => void; replaceTheme: (theme: RecursivePartial) => void; getTheme: () => Partial; render(): JSX.Element; } export declare const ThemeConsumer: React.Consumer>; export {};