import React from 'react';
import { PartialKeys } from '@devexperts/utils/dist/object/object';
export declare type TTheme = {
[key: string]: TTheme | string | undefined;
};
declare type TTargetProps = {
theme?: TTheme;
};
export declare const withTheme: (name: string | symbol, defaultTheme?: TTheme) =>
(Target: React.ComponentType
) => React.ComponentClass void) | React.RefObject | null | undefined;
}, "theme">, any>;
/**
* Merges passed themes by concatenating string keys and processing nested themes
*/
export declare function mergeThemes(...themes: TTheme[]): TTheme;
export declare type TThemeProviderProps = {
theme: {
[key: string]: TTheme;
};
};
export declare class ThemeProvider extends React.Component {
static childContextTypes: {
[x: string]: () => null;
};
render(): string | number | boolean | {} | React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | React.ReactPortal | null | undefined;
getChildContext(): {
[x: string]: {
[key: string]: TTheme;
};
};
}
export {};