import { EventEmitter, OnInit } from '@angular/core';
import { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms';
import { DatiPersonaFisicaModel, LocalitaModel, NazioneModel, VerificaPfResponseDTO } from '../../models/estremi-persona-fisica.model';
import { getErrorMessage } from '../../utils/validators-messages.utils';
import { BonificoExtraSepaModel } from '../../models/bonifico-extra-sepa.model';
export declare class BonificoExtraSepaComponent implements OnInit {
    bonificoExtraSepa: BonificoExtraSepaModel;
    isPersonaFisicaExtraSepaValid: boolean;
    nazioni: NazioneModel[];
    province: LocalitaModel[];
    extraSepaFormPath: string;
    estremiPFExtraSepaFormPath: string;
    viewSessoPF: boolean;
    validateAndGetResidenza: VerificaPfResponseDTO;
    validateExtraSepaPersonaFisicaEmitter: EventEmitter<void>;
    resetEstremiPersonaFisicaExtraSepaFormEmitter: EventEmitter<void>;
    bonificoExtraSepaReady: EventEmitter<{
        bonifico: BonificoExtraSepaModel;
        isValid: boolean;
    }>;
    personaFisicaEmitter: EventEmitter<{
        persona: DatiPersonaFisicaModel;
        isValid: boolean;
    }>;
    extraSepaForm: FormGroup;
    ibanValidators: ValidatorFn[];
    codiceContoValidators: ValidatorFn[];
    private subscription;
    getErrorMessage: typeof getErrorMessage;
    sepaCountries: {
        name: string;
        code: string;
        iban: string;
    }[];
    delegato: DatiPersonaFisicaModel;
    isDelegatoValid: boolean;
    constructor();
    ngOnInit(): void;
    initExtraSepaForm(): void;
    ngOnDestroy(): void;
    onValidateExtraSepaPersonaFisica(): void;
    onExistsDelegatoRiscossioneChange(tipo: any): void;
    byCode(n1: NazioneModel, n2: NazioneModel): boolean;
    ValidateNotIban(control: AbstractControl): {
        codiceContoSchouldNotBeIban: boolean;
    };
    extraSepaCountriesValidator(): ValidatorFn;
    onDelegatoRiscossioneReady(event: {
        persona: DatiPersonaFisicaModel;
        isValid: boolean;
    }): void;
    convertToUppercase(value: string): void;
}
