import { GlobalVariable } from "@gongt/ts-stl-library/pattern/global-page-data";
import * as PropTypes from "prop-types";
import * as React from "react";
import { WrapComponent } from "./render";
export interface PropsType {
    global: GlobalVariable;
}
export interface GlobalContextContent {
    global: GlobalVariable;
}
export interface GlobalContext {
    context: GlobalContextContent;
}
export declare function WithGlobalContext<T extends React.ComponentClass<any>>(component: T): T;
export declare class ReactEmptyWrapper extends React.Component<WrapComponent, {}> {
    state: {
        subProps: any;
    };
    static propTypes: {
        Component: PropTypes.Validator<any>;
        componentName: PropTypes.Requireable<any>;
        props: PropTypes.Requireable<any>;
    };
    constructor(props: any, context: any);
    componentWillReceiveProps(nextProps: any, nextContext: any): void;
    render(): JSX.Element;
}
export declare class GlobalContextProvider extends React.Component<PropsType, {}> {
    static childContextTypes: React.ValidationMap<any>;
    getChildContext(): GlobalContextContent;
    render(): React.ReactElement<any>;
}
