import { OnInit, EventEmitter, OnDestroy } from '@angular/core';
import { FormGroupDirective, FormGroup } from '@angular/forms';
import { MatTableDataSource } from '@angular/material/table';
import { Observable, Subject, Subscription } from 'rxjs';
import { ComponentOutputStatus } from '../../normalizzazione/component-output-status';
import { DomicilioDTO } from '../../models/domicilio-dto';
import { ContattoDTO } from '../../models/contatto-dto';
import { SelectionModel } from '@angular/cdk/collections';
import { MessageService } from '../../services/message.service';
import { Domicilio } from '../../models/portale/domicilio';
import { Recapito } from '../../models/portale/recapito';
export declare class DatiDomicilioComponent implements OnInit, OnDestroy {
    private msg;
    form: FormGroup;
    domicili: Array<Domicilio>;
    recapiti$: Observable<Array<Recapito>>;
    domicilio: DomicilioDTO;
    done: EventEmitter<ComponentOutputStatus<DomicilioDTO>>;
    subscription: Subscription;
    displayedColumns: string[];
    dataSource: MatTableDataSource<any>;
    selection: SelectionModel<Domicilio>;
    formGroupDirective: FormGroupDirective;
    checkDomicilio$: Observable<Boolean>;
    changesRecapito$: Subject<ComponentOutputStatus<(value: DomicilioDTO) => void>>;
    validazioneDomicilio: boolean;
    tipoToltip: string;
    pressoToltip: string;
    indirizzoToltip: string;
    selezionaToltip: string;
    preferitoToltip: string;
    constructor(msg: MessageService);
    ngOnInit(): void;
    initialSelection(): void;
    initDomicilio(): void;
    recapitiReady(recapitiStatus: ComponentOutputStatus<ContattoDTO>): void;
    ngOnDestroy(): void;
}
