import { EventEmitter, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { Observable, Subject, Subscription } from 'rxjs';
import { ComponentOutputStatus } from '../../normalizzazione/component-output-status';
import { ContattoDTO } from '../../models/contatto-dto';
import { DomicilioDTO } from '../../models/domicilio-dto';
import { DatiRichiedenteDTO } from '../../models/dati-richiedente-dto';
import { PersonaFisica } from '../../models/portale/persona-fisica-model';
import { DatiPersonaFisica } from '../../models/portale/dati-persona-fisica';
import { Indirizzo } from '../../models/portale/indirizzo';
import { Recapito } from '../../models/portale/recapito';
import { Domicilio } from '../../models/portale/domicilio';
export declare class RichiedenteComponent implements OnInit {
    form: FormGroup;
    datiRichiedente: DatiRichiedenteDTO;
    personaFisica$: Observable<PersonaFisica>;
    nextStep: EventEmitter<DatiRichiedenteDTO>;
    salvaBozza: EventEmitter<DatiRichiedenteDTO>;
    datiPersonaFisica$: Observable<DatiPersonaFisica>;
    residenza$: Observable<Indirizzo>;
    recapiti$: Observable<Array<Recapito>>;
    domicili$: Observable<Array<Domicilio>>;
    changesPersonaFisica$: Subject<ComponentOutputStatus<(value: DatiRichiedenteDTO) => void>>;
    changesResidenza$: Subject<ComponentOutputStatus<(value: DatiRichiedenteDTO) => void>>;
    changesRecapito$: Subject<ComponentOutputStatus<(value: DatiRichiedenteDTO) => void>>;
    changesDomicilio$: Subject<ComponentOutputStatus<(value: DatiRichiedenteDTO) => void>>;
    direction: string;
    isFinal: boolean;
    isDomicilioElettoValid: boolean;
    domicilioElettoSub: Subscription;
    isDichiaranteValid: boolean;
    constructor();
    ngOnInit(): void;
    recapitiReady(recapitiStatus: ComponentOutputStatus<ContattoDTO>): void;
    domiciliReady(domiciliStatus: ComponentOutputStatus<DomicilioDTO>): void;
    initRichiedente(): void;
    forward(_: any): void;
    complete(_: any): void;
    onSalvaBozza(_: any): void;
    ngOnDestroy(): void;
    hasSelecteDichiarante(dichiarante: any): boolean;
    hasSelecteDichiaranteAnd(dichiarante: any): boolean;
}
