import React from "react";
import { Room, MatrixError } from "matrix-js-sdk/src/matrix";
import { IOOBData } from "../../../stores/ThreepidInviteStore";
interface IProps {
    inviterName?: string;
    invitedEmail?: string;
    oobData?: IOOBData;
    signUrl?: string;
    error?: MatrixError;
    canPreview?: boolean;
    previewLoading?: boolean;
    roomId?: string;
    room?: Room;
    loading?: boolean;
    joining?: boolean;
    rejecting?: boolean;
    roomAlias?: string;
    onJoinClick?(): void;
    onRejectClick?(): void;
    onRejectAndIgnoreClick?(): void;
    onForgetClick?(): void;
    canAskToJoinAndMembershipIsLeave?: boolean;
    promptAskToJoin?: boolean;
    knocked?: boolean;
    onSubmitAskToJoin?(reason?: string): void;
    onCancelAskToJoin?(): void;
}
interface IState {
    busy: boolean;
    accountEmails?: string[];
    invitedEmailMxid?: string;
    threePidFetchError?: MatrixError;
    reason?: string;
}
export default class RoomPreviewBar extends React.Component<IProps, IState> {
    static defaultProps: {
        onJoinClick(): void;
    };
    constructor(props: IProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: IProps, prevState: IState): void;
    private checkInvitedEmail;
    private getMessageCase;
    private getKickOrBanInfo;
    private joinRule;
    private getMyMember;
    private getInviteMember;
    private isDMInvite;
    private makeScreenAfterLogin;
    private onLoginClick;
    private onRegisterClick;
    private onChangeReason;
    render(): React.ReactNode;
}
export {};
