import { EventEmitter, OnInit } from "@angular/core";
import { FormGroup, ValidatorFn } from "@angular/forms";
import { getErrorMessage } from '../../utils/validators-messages.utils';
import { ComuneModel, DatiPersonaFisicaModel, IndirizzoModel, LocalitaModel, NazioneModel, VerificaPfResponseDTO } from "../../models/estremi-persona-fisica.model";
import { BonificoSepaModel } from "../../models/bonifico-sepa.model";
import { ModalitaPagamentoService } from "../../services/modalita-pagamento.service";
export declare class BonificoSepaComponent implements OnInit {
    private modalitaPagamentoService;
    viewDelegato: boolean;
    bonificoSepa: BonificoSepaModel;
    nazioni: NazioneModel[];
    province: LocalitaModel[];
    comuni: ComuneModel[];
    capOptions: string[];
    isPersonaFisicaSepaValid: boolean;
    sepaFormPath: string;
    estremiPFSepaFormPath: string;
    viewSessoPF: boolean;
    validateAndGetResidenza: VerificaPfResponseDTO;
    indirizzoVagliaFormPath: string;
    validateSepaPersonaFisicaEmitter: EventEmitter<void>;
    resetEstremiPersonaFisicaSepaFormEmitter: EventEmitter<void>;
    bonificoSepaReady: EventEmitter<{
        bonifico: BonificoSepaModel;
        isValid: boolean;
    }>;
    personaFisicaEmitter: EventEmitter<{
        persona: DatiPersonaFisicaModel;
        isValid: boolean;
    }>;
    setComuni: EventEmitter<ComuneModel[]>;
    getCapOptions: EventEmitter<string>;
    resetIndirizzoForm: EventEmitter<void>;
    indirizzoEmitter: EventEmitter<{
        indirizzo: IndirizzoModel;
        isValid: boolean;
    }>;
    sepaForm: FormGroup;
    getErrorMessage: typeof getErrorMessage;
    ibanValidators: ValidatorFn[];
    sepaCountries: {
        name: string;
        code: string;
        iban: string;
    }[];
    delegato: DatiPersonaFisicaModel;
    isDelegatoValid: boolean;
    indirizzo: IndirizzoModel;
    isIndirizzoValid: boolean;
    cap: string[];
    codiceCatastale: string;
    constructor(modalitaPagamentoService: ModalitaPagamentoService);
    ngOnInit(): void;
    initSepaForm(): void;
    onValidateSepaPersonaFisica(): void;
    onExistsDelegatoRiscossioneChange(tipo: any): void;
    sepaCountriesValidator(): ValidatorFn;
    onDelegatoRiscossioneReady(event: {
        persona: DatiPersonaFisicaModel;
        isValid: boolean;
    }): void;
    convertToUppercase(value: string): void;
    noSpacesValidator(): ValidatorFn;
    getComuni(siglaProvincia: string): void;
    onIndirizzoReady(event: {
        indirizzo: IndirizzoModel;
        isValid: boolean;
    }): void;
    getCap(codiceCatastale: string): void;
}
