import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from "@angular/core";
import { ActivatedRoute } from "@angular/router";
import { AbstractControl, UntypedFormGroup } from "@angular/forms";
import { MatLegacyTabChangeEvent as MatTabChangeEvent, MatLegacyTabGroup as MatTabGroup } from "@angular/material/legacy-tabs";
import { ThemePalette } from "@angular/material/core";
import { MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef } from "@angular/material/legacy-dialog";
import { MatLegacyFormFieldAppearance as MatFormFieldAppearance } from "@angular/material/legacy-form-field";
import { AngularFireAuth } from "@angular/fire/compat/auth";
import { MatPasswordStrengthComponent } from "@angular-material-extensions/password-strength";
import { Subscription } from "rxjs";
import { LegalityDialogComponent } from "..";
import { NgxAuthFirebaseUIConfig, Theme } from '../../interfaces';
import { AuthProcessService, AuthProvider } from "../../services/auth-process.service";
import * as i0 from "@angular/core";
export declare class AuthComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    private platformId;
    config: NgxAuthFirebaseUIConfig;
    auth: AngularFireAuth;
    authProcess: AuthProcessService;
    dialog: MatDialog;
    private activatedRoute;
    private changeDetectorRef;
    matTabGroup: MatTabGroup;
    passwordStrength: MatPasswordStrengthComponent;
    isLoading: boolean;
    providers: AuthProvider[] | AuthProvider;
    providersTheme: Theme;
    appearance: MatFormFieldAppearance;
    tabIndex: number | null;
    registrationEnabled: boolean;
    resetPasswordEnabled: boolean;
    guestEnabled: boolean;
    tosUrl: string;
    privacyPolicyUrl: string;
    goBackURL: string;
    messageOnAuthSuccess: string;
    messageOnAuthError: string;
    messageOnEmailConfirmationSuccess: string;
    onSuccess: any;
    onError: any;
    selectedTabChange: EventEmitter<MatTabChangeEvent>;
    enableLengthRule: boolean;
    enableLowerCaseLetterRule: boolean;
    enableUpperCaseLetterRule: boolean;
    enableDigitRule: boolean;
    enableSpecialCharRule: boolean;
    min: number;
    max: number;
    customValidator: RegExp;
    onStrengthChanged: EventEmitter<number>;
    verifyEmailTemplate: TemplateRef<any>;
    verifyEmailTitleText: string;
    verifyEmailConfirmationText: string;
    verifyEmailGoBackText: string;
    sendNewVerificationEmailText: string;
    signOutText: string;
    resetPasswordTabText: string;
    resetPasswordInputText: string;
    resetPasswordErrorRequiredText: string;
    resetPasswordErrorPatternText: string;
    resetPasswordActionButtonText: string;
    resetPasswordInstructionsText: string;
    signInTabText: string;
    signInCardTitleText: string;
    loginButtonText: string;
    forgotPasswordButtonText: string;
    nameText: string;
    nameErrorRequiredText: string;
    nameErrorMinLengthText: string;
    nameErrorMaxLengthText: string;
    emailText: string;
    emailErrorRequiredText: string;
    emailErrorPatternText: string;
    passwordText: string;
    passwordErrorRequiredText: string;
    passwordErrorMinLengthText: string;
    passwordErrorMaxLengthText: string;
    registerTabText: string;
    registerCardTitleText: string;
    registerButtonText: string;
    guestButtonText: string;
    emailConfirmationTitle: string;
    emailConfirmationText: string;
    authProvider: typeof AuthProvider;
    passwordResetWished: boolean;
    signInFormGroup: UntypedFormGroup;
    signUpFormGroup: UntypedFormGroup;
    resetPasswordFormGroup: UntypedFormGroup;
    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, config: NgxAuthFirebaseUIConfig, auth: AngularFireAuth, authProcess: AuthProcessService, dialog: MatDialog, activatedRoute: ActivatedRoute, changeDetectorRef: ChangeDetectorRef);
    get color(): string | ThemePalette;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onTabChange(event: MatTabChangeEvent): void;
    signOut(): Promise<void>;
    signIn(): Promise<void>;
    updateAuthSnackbarMessages(): void;
    createForgotPasswordTab(): void;
    processLegalSignUP(authProvider?: AuthProvider): void;
    signUp(): Promise<void>;
    signUpAnonymously(): Promise<void>;
    resetPassword(): void;
    private chooseBackUrl;
    private _initSignInFormGroupBuilder;
    private _initSignUpFormGroupBuilder;
    private _initResetPasswordFormGroupBuilder;
    private _afterSignUpMiddleware;
    static ɵfac: i0.ɵɵFactoryDeclaration<AuthComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AuthComponent, "ngx-auth-firebaseui", never, { "providers": { "alias": "providers"; "required": false; }; "providersTheme": { "alias": "providersTheme"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "registrationEnabled": { "alias": "registrationEnabled"; "required": false; }; "resetPasswordEnabled": { "alias": "resetPasswordEnabled"; "required": false; }; "guestEnabled": { "alias": "guestEnabled"; "required": false; }; "tosUrl": { "alias": "tosUrl"; "required": false; }; "privacyPolicyUrl": { "alias": "privacyPolicyUrl"; "required": false; }; "goBackURL": { "alias": "goBackURL"; "required": false; }; "messageOnAuthSuccess": { "alias": "messageOnAuthSuccess"; "required": false; }; "messageOnAuthError": { "alias": "messageOnAuthError"; "required": false; }; "messageOnEmailConfirmationSuccess": { "alias": "messageOnEmailConfirmationSuccess"; "required": false; }; "enableLengthRule": { "alias": "enableLengthRule"; "required": false; }; "enableLowerCaseLetterRule": { "alias": "enableLowerCaseLetterRule"; "required": false; }; "enableUpperCaseLetterRule": { "alias": "enableUpperCaseLetterRule"; "required": false; }; "enableDigitRule": { "alias": "enableDigitRule"; "required": false; }; "enableSpecialCharRule": { "alias": "enableSpecialCharRule"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "customValidator": { "alias": "customValidator"; "required": false; }; "verifyEmailTemplate": { "alias": "verifyEmailTemplate"; "required": false; }; "verifyEmailTitleText": { "alias": "verifyEmailTitleText"; "required": false; }; "verifyEmailConfirmationText": { "alias": "verifyEmailConfirmationText"; "required": false; }; "verifyEmailGoBackText": { "alias": "verifyEmailGoBackText"; "required": false; }; "sendNewVerificationEmailText": { "alias": "sendNewVerificationEmailText"; "required": false; }; "signOutText": { "alias": "signOutText"; "required": false; }; "resetPasswordTabText": { "alias": "resetPasswordTabText"; "required": false; }; "resetPasswordInputText": { "alias": "resetPasswordInputText"; "required": false; }; "resetPasswordErrorRequiredText": { "alias": "resetPasswordErrorRequiredText"; "required": false; }; "resetPasswordErrorPatternText": { "alias": "resetPasswordErrorPatternText"; "required": false; }; "resetPasswordActionButtonText": { "alias": "resetPasswordActionButtonText"; "required": false; }; "resetPasswordInstructionsText": { "alias": "resetPasswordInstructionsText"; "required": false; }; "signInTabText": { "alias": "signInTabText"; "required": false; }; "signInCardTitleText": { "alias": "signInCardTitleText"; "required": false; }; "loginButtonText": { "alias": "loginButtonText"; "required": false; }; "forgotPasswordButtonText": { "alias": "forgotPasswordButtonText"; "required": false; }; "nameText": { "alias": "nameText"; "required": false; }; "nameErrorRequiredText": { "alias": "nameErrorRequiredText"; "required": false; }; "nameErrorMinLengthText": { "alias": "nameErrorMinLengthText"; "required": false; }; "nameErrorMaxLengthText": { "alias": "nameErrorMaxLengthText"; "required": false; }; "emailText": { "alias": "emailText"; "required": false; }; "emailErrorRequiredText": { "alias": "emailErrorRequiredText"; "required": false; }; "emailErrorPatternText": { "alias": "emailErrorPatternText"; "required": false; }; "passwordText": { "alias": "passwordText"; "required": false; }; "passwordErrorRequiredText": { "alias": "passwordErrorRequiredText"; "required": false; }; "passwordErrorMinLengthText": { "alias": "passwordErrorMinLengthText"; "required": false; }; "passwordErrorMaxLengthText": { "alias": "passwordErrorMaxLengthText"; "required": false; }; "registerTabText": { "alias": "registerTabText"; "required": false; }; "registerCardTitleText": { "alias": "registerCardTitleText"; "required": false; }; "registerButtonText": { "alias": "registerButtonText"; "required": false; }; "guestButtonText": { "alias": "guestButtonText"; "required": false; }; "emailConfirmationTitle": { "alias": "emailConfirmationTitle"; "required": false; }; "emailConfirmationText": { "alias": "emailConfirmationText"; "required": false; }; }, { "onSuccess": "onSuccess"; "onError": "onError"; "selectedTabChange": "selectedTabChange"; "onStrengthChanged": "onStrengthChanged"; }, never, never, false, never>;
}
//# sourceMappingURL=auth.component.d.ts.map