import React from "react";
import { Click, Phase } from "./LoginWithQR-types";
import { FailureReason } from "./LoginWithQR";
import { XOR } from "../../../@types/common";
/**
 * @deprecated the MSC3906 implementation is deprecated in favour of MSC4108.
 */
interface MSC3906Props extends Pick<Props, "phase" | "onClick" | "failureReason"> {
    code?: string;
    confirmationDigits?: string;
}
interface Props {
    phase: Phase;
    code?: Uint8Array;
    onClick(type: Click, checkCodeEntered?: string): Promise<void>;
    failureReason?: FailureReason;
    userCode?: string;
    checkCode?: string;
}
/**
 * A component that implements the UI for sign in and E2EE set up with a QR code.
 *
 * This supports the unstable features of MSC3906 and MSC4108
 */
export default class LoginWithQRFlow extends React.Component<XOR<Props, MSC3906Props>> {
    private checkCodeInput;
    constructor(props: XOR<Props, MSC3906Props>);
    private handleClick;
    private cancelButton;
    private simpleSpinner;
    render(): React.ReactNode;
}
export {};
