import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { MatDialogRef } from '@angular/material/dialog';
import { FsAddressPickerConfig } from '../../interfaces/address-config.interface';
import { FsAddress } from '../../interfaces/address.interface';
import { FsAddressDialogComponent } from '../address-dialog/address-dialog.component';
import { FsAddressSearchComponent } from '../address-search/address-search.component';
import { AddressSearchEditEvent } from '../address-search/address-search.interface';
import * as i0 from "@angular/core";
export declare class FsAddressPickerComponent implements OnChanges, OnDestroy, ControlValueAccessor {
    private _dialog;
    private _cdRef;
    addressSearch: FsAddressSearchComponent;
    set setConfig(config: FsAddressPickerConfig);
    set setFormat(value: any);
    set setDisabled(value: any);
    set setReadonly(value: any);
    address: FsAddress;
    addressChange: EventEmitter<any>;
    showName: boolean;
    search: FsAddressSearchComponent;
    view: string;
    config: FsAddressPickerConfig;
    onChange: (value: any) => void;
    private _destroy$;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    setDisabledState?(disabled: boolean): void;
    ngOnChanges(changes: SimpleChanges): void;
    addressManual(): void;
    addressChanged(address: any): void;
    addressEdit(): void;
    addressSelected(address: any): void;
    open(event: AddressSearchEditEvent): MatDialogRef<FsAddressDialogComponent>;
    searchEdited(event: AddressSearchEditEvent): void;
    clear(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FsAddressPickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FsAddressPickerComponent, "fs-address-picker", never, { "setConfig": { "alias": "config"; "required": false; }; "setFormat": { "alias": "format"; "required": false; }; "setDisabled": { "alias": "disabled"; "required": false; }; "setReadonly": { "alias": "readonly"; "required": false; }; "address": { "alias": "address"; "required": false; }; "showName": { "alias": "showName"; "required": false; }; }, { "addressChange": "addressChange"; }, never, never, true, never>;
}
