import { OnInit, OnDestroy, EventEmitter, TemplateRef } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs';
import { AngularFireAuth } from 'angularfire2/auth';
import { auth } from 'firebase/app';
import { NgxFirebaseAuthService } from '../ngx-firebase-auth.service';
export declare class SignInComponent implements OnInit, OnDestroy {
    private _afAuth;
    private _svc;
    private _route;
    private _router;
    private ngUnsubscribe;
    oAuthProviderIds: string[];
    useOAuthPopup: boolean;
    oAuthProviderFactory: (providerId: string) => auth.AuthProvider;
    tosTemplate: TemplateRef<any>;
    success: EventEmitter<auth.UserCredential>;
    mode: EventEmitter<'signIn' | 'resetPassword'>;
    remember: boolean;
    email: string;
    initialOAuthError: auth.Error;
    signedOut: boolean;
    oAuthProviderId: string;
    cred: auth.UserCredential;
    unhandledError: auth.Error;
    screen: 'wait' | 'signIn' | 'signInPassword' | 'signUpPassword' | 'signInOAuth' | 'signInSuccess' | 'resetPassword' | 'unhandledError';
    constructor(_afAuth: AngularFireAuth, _svc: NgxFirebaseAuthService, _route: ActivatedRoute, _router: Router);
    readonly auth: auth.Auth;
    readonly authService: NgxFirebaseAuthService;
    readonly router: Router;
    readonly route: ActivatedRoute;
    readonly queryParams: Observable<{
        [key: string]: any;
    }>;
    readonly snapshotQueryParams: {
        [key: string]: any;
    };
    ngOnInit(): void;
    ngOnDestroy(): void;
    init(): Promise<void>;
    onInitHandleSignOut(): Promise<boolean>;
    onInitHandleOAuthRedirect(): Promise<boolean>;
    showSignOut(): Promise<any>;
    showSignIn(signedOut?: boolean): void;
    showSignInPassword(): void;
    showSignUpPassword(): void;
    showSignInOAuth(oAuthProviderId: string, error: auth.Error): void;
    showSignInSuccess(cred: auth.UserCredential): void;
    showResetPassword(): void;
    showUnhandledError(error: auth.Error): void;
}
