import React, { ReactNode } from "react";
import { GeneratedSas, Verifier } from "matrix-js-sdk/src/crypto-api";
interface IProps {
    verifier: Verifier;
    onFinished(verified?: boolean): void;
}
interface IState {
    phase: number;
    sasVerified: boolean;
    opponentProfile: {
        avatar_url?: string;
        displayname?: string;
    } | null;
    opponentProfileError: Error | null;
    sas: GeneratedSas | null;
}
export default class IncomingSasDialog extends React.Component<IProps, IState> {
    private showSasEvent;
    constructor(props: IProps);
    componentWillUnmount(): void;
    private fetchOpponentProfile;
    private onFinished;
    private onCancelClick;
    private onContinueClick;
    private onVerifierShowSas;
    private onVerifierCancel;
    private onSasMatchesClick;
    private onVerifiedDoneClick;
    private renderPhaseStart;
    private renderPhaseShowSas;
    private renderPhaseWaitForPartnerToConfirm;
    private renderPhaseVerified;
    private renderPhaseCancelled;
    render(): ReactNode;
}
export {};
