import * as React from 'react';
export declare class IgrTemplateView extends React.Component<IIgrTemplateViewProps> {
    constructor(props: IIgrTemplateViewProps);
    render(): React.CElement<{
        dataContext: any;
    }, React.Component<{
        dataContext: any;
    }, any, any>>;
}
export interface IIgrTemplateViewProps {
    dataContext: any;
    template: any;
}
export declare class IgrTemplateContainer extends React.Component<IIgrTemplateContainerProps> {
    constructor(props: IIgrTemplateContainerProps);
    contentReady: () => void;
    componentDidUpdate(): void;
    render(): JSX.Element;
    private _currentOwner;
    get currentOwner(): any;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    private _template;
    set template(value: React.FunctionComponent<any> | React.ComponentClass<any>);
    get template(): React.FunctionComponent<any> | React.ComponentClass<any>;
    private _containerTemplate;
    set containerTemplate(value: React.FunctionComponent<any> | React.ComponentClass<any>);
    get containerTemplate(): React.FunctionComponent<any> | React.ComponentClass<any>;
    private _dataContext;
    set dataContext(value: any);
    get dataContext(): any;
}
export interface IIgrTemplateContainerProps {
    owner: any;
    omitContainer?: boolean;
}
