import React, { ComponentType, PropsWithChildren } from "react";
type AsyncImport<T> = {
    default: T;
};
interface IProps {
    prom: Promise<ComponentType<any> | AsyncImport<ComponentType<any>>>;
    onFinished(): void;
}
interface IState {
    component?: ComponentType<PropsWithChildren<any>>;
    error?: Error;
}
/**
 * Wrap an asynchronous loader function with a react component which shows a
 * spinner until the real component loads.
 */
export default class AsyncWrapper extends React.Component<IProps, IState> {
    private unmounted;
    state: IState;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private onWrapperCancelClick;
    render(): React.ReactNode;
}
export {};
