import { OnDestroy, OnInit } from '@angular/core';
import { AbstractControl, FormGroup } from '@angular/forms';
import { MatDialog, MatDialogRef, MatFormFieldAppearance } from '@angular/material';
import { AngularFireAuth } from '@angular/fire/auth';
import { Subscription } from 'rxjs/internal/Subscription';
import { AuthProcessService, AuthProvider } from '../../services/auth-process.service';
import { LegalityDialogComponent } from '../../components/legality-dialog/legality-dialog.component';
export declare const EMAIL_REGEX: RegExp;
export declare const PHONE_NUMBER_REGEX: RegExp;
export declare class AuthComponent implements OnInit, OnDestroy {
    private platformId;
    auth: AngularFireAuth;
    authProcess: AuthProcessService;
    dialog: MatDialog;
    providers: string[] | string;
    appearance: MatFormFieldAppearance;
    tabIndex: number | null;
    guestEnabled: boolean;
    tosUrl: string;
    privacyPolicyUrl: string;
    goBackURL: string;
    onSuccess: any;
    onError: any;
    authProvider: typeof AuthProvider;
    passwordResetWished: boolean;
    signInFormGroup: FormGroup;
    signUpFormGroup: FormGroup;
    resetPasswordFormGroup: FormGroup;
    onErrorSubscription: Subscription;
    authenticationError: boolean;
    passReset: boolean;
    dialogRef: MatDialogRef<LegalityDialogComponent>;
    authProviders: typeof AuthProvider;
    signInEmailFormControl: AbstractControl;
    sigInPasswordFormControl: AbstractControl;
    sigUpNameFormControl: AbstractControl;
    sigUpEmailFormControl: AbstractControl;
    sigUpPasswordFormControl: AbstractControl;
    sigUpPasswordConfirmationFormControl: AbstractControl;
    resetPasswordEmailFormControl: AbstractControl;
    constructor(platformId: Object, auth: AngularFireAuth, authProcess: AuthProcessService, dialog: MatDialog);
    ngOnInit(): void;
    ngOnDestroy(): void;
    readonly color: string;
    createForgotPasswordTab(): void;
    openLegalityDialog(authProvider?: AuthProvider): void;
    signUp(): Promise<void>;
    signUpAnonymously(): Promise<void>;
    resetPassword(): void;
    private _initSignInFormGroupBuilder;
    private _initSignUpFormGroupBuilder;
    private _initResetPasswordFormGroupBuilder;
    private _afterSignUpMiddleware;
}
