import React from "react";
import { LoginFlow } from "matrix-js-sdk/src/matrix";
import { SDKContext } from "../../../contexts/SDKContext";
declare enum LoginView {
    Loading = 0,
    Password = 1,
    CAS = 2,// SSO, but old
    SSO = 3,
    PasswordWithSocialSignOn = 4,
    Unsupported = 5
}
interface IProps {
    realQueryParams: {
        loginToken?: string;
    };
    fragmentAfterLogin?: string;
    onTokenLoginCompleted: () => void;
}
interface IState {
    loginView: LoginView;
    busy: boolean;
    password: string;
    errorText: string;
    flows: LoginFlow[];
}
export default class SoftLogout extends React.Component<IProps, IState> {
    static contextType: React.Context<import("../../../contexts/SDKContext").SdkContextClass>;
    context: React.ContextType<typeof SDKContext>;
    constructor(props: IProps, context: React.ContextType<typeof SDKContext>);
    componentDidMount(): void;
    private onClearAll;
    private initLogin;
    private onPasswordChange;
    private onForgotPassword;
    private onPasswordLogin;
    /**
     * Attempt to login via SSO
     * @returns A promise that resolves to a boolean -  true when sso login was successful
     */
    private trySsoLogin;
    private renderPasswordForm;
    private renderSsoForm;
    private renderSignInSection;
    render(): React.ReactNode;
}
export {};
