import React, { ReactNode } from "react";
export interface IFinishedOpts {
    continue: boolean;
    invite: boolean;
}
interface IProps {
    roomId: string;
    targetVersion: string;
    description?: ReactNode;
    doUpgrade?(opts: IFinishedOpts, fn: (progressText: string, progress: number, total: number) => void): Promise<void>;
    onFinished(opts?: IFinishedOpts): void;
}
interface Progress {
    text: string;
    progress: number;
    total: number;
}
interface IState {
    inviteUsersToNewRoom: boolean;
    progress?: Progress;
}
export default class RoomUpgradeWarningDialog extends React.Component<IProps, IState> {
    private readonly joinRule;
    private readonly isInviteOrKnockRoom;
    private readonly currentVersion?;
    constructor(props: IProps);
    private onProgressCallback;
    private onContinue;
    private onCancel;
    private onInviteUsersToggle;
    private openBugReportDialog;
    render(): React.ReactNode;
}
export {};
