import * as React from 'react'; export interface AjaxLoaderState { ready: boolean; isRefresh: boolean; } export interface AjaxLoaderExternalProps { } export interface AjaxLoaderInjectedProps { refresh?: () => void; } export interface AjaxLoaderOptions { promises: { [key: string]: (props: any) => PromiseLike; }; loader?: any; } export declare const ajaxLoader: (options: AjaxLoaderOptions) => (Component: React.ComponentType) => { new (props: T & AjaxLoaderExternalProps): { promises: { [key: string]: { promise: PromiseLike; result: any; done: boolean; }; }; promiseResults: { [key: string]: any; }; readonly loader: any; refresh(): void; render(): any; context: any; setState(state: AjaxLoaderState | ((prevState: Readonly, props: Readonly) => AjaxLoaderState | Pick) | Pick, callback?: () => void): void; forceUpdate(callBack?: () => void): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly): any; componentDidUpdate?(prevProps: Readonly, prevState: Readonly, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }; displayName: string; contextType?: React.Context; };