import { EventEmitter, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { NavigationExtras } from '@angular/router';
import { DsfrFormEmailComponent } from '../../forms/form-email';
import { DsfrLogin } from './login.model';
import * as i0 from "@angular/core";
export declare class DsfrLoginComponent implements OnInit {
    private fb;
    /** @internal */ emailComponent: DsfrFormEmailComponent;
    /**Label du champ email ("Identifiant" par défaut) */
    labelEmail: string | undefined;
    /** Surcharger le texte de description additionnel du champ email */
    hintEmail: string | undefined;
    /**
     * Indique une erreur de connexion. Message de l'erreur.
     */
    error: string;
    /** Url de récupération du mot de passe (optionnel) */
    recoveryLink: string;
    /** Path interne. Exclusif avec link et routerLink */
    recoveryRoute: string;
    /** Path angular géré en tant que directive routerLink. */
    recoveryRouterLink: string | string[];
    /** RouterLink : classe utilisée pour la directive routerLink active. */
    recoveryRouterLinkActive: string | string[];
    /** RouterLink : valeurs additionnelles de navigation pour le routerLink (queryParams, state, etc.) */
    recoveryRouterLinkExtras: NavigationExtras;
    /** Se souvenir de l'utilisateur. */
    rememberMe: boolean;
    /** Utilisation de FranceConnect+ (qui est plus sécurisé). */
    secure: false;
    /** Nom du service. */
    service: string;
    /** Demande de connexion via FranceConnect. */
    franceConnectSelect: EventEmitter<void>;
    /** Evénement lorsque le mot de passe change. */
    passwordChange: EventEmitter<string>;
    /** Emission de `recoveryRoute` s'il y a lieu. */
    recoveryRouteSelect: EventEmitter<string>;
    /** Demande de connexion avec en paramètre : '{login : string ; password : string}'. */
    signinSelect: EventEmitter<DsfrLogin>;
    /** Demande de création de compte */
    signupSelect: EventEmitter<void>;
    /** @internal */ password: string;
    /** @internal */ login: string;
    /** @internal */ loginFormGroup: FormGroup;
    /** @internal */
    constructor(fb: FormBuilder);
    /** @internal */
    ngOnInit(): void;
    /** @internal */
    onFranceConnect(): void;
    /**
     * Inscription, on laisse le développeur faire ce qu'il veut dans ce cas.
     * @internal
     */
    onSignUp(): void;
    /** Connexion */
    /** @internal */
    onSignIn(): void;
    /** @internal */
    onPasswordChange(value: string): void;
    /** @internal */
    onRecoveryRouteSelect(route: string): void;
    /** @internal */
    isFormLoginValid(): boolean;
    private setControlValue;
    private getControlValue;
    private saveToLocalStorage;
    static ɵfac: i0.ɵɵFactoryDeclaration<DsfrLoginComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DsfrLoginComponent, "dsfr-login", never, { "labelEmail": { "alias": "labelEmail"; "required": false; }; "hintEmail": { "alias": "hintEmail"; "required": false; }; "error": { "alias": "error"; "required": false; }; "recoveryLink": { "alias": "recoveryLink"; "required": false; }; "recoveryRoute": { "alias": "recoveryRoute"; "required": false; }; "recoveryRouterLink": { "alias": "recoveryRouterLink"; "required": false; }; "recoveryRouterLinkActive": { "alias": "recoveryRouterLinkActive"; "required": false; }; "recoveryRouterLinkExtras": { "alias": "recoveryRouterLinkExtras"; "required": false; }; "rememberMe": { "alias": "rememberMe"; "required": false; }; "secure": { "alias": "secure"; "required": false; }; "service": { "alias": "service"; "required": false; }; }, { "franceConnectSelect": "franceConnectSelect"; "passwordChange": "passwordChange"; "recoveryRouteSelect": "recoveryRouteSelect"; "signinSelect": "signinSelect"; "signupSelect": "signupSelect"; }, never, never, true, never>;
}
