import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { NgModel } from '@angular/forms';
import { Country } from '../../enums/country.enum';
import { IAddressCountry } from '../../interfaces/address-country.interface';
import { IAddressRegion } from '../../interfaces/address-region.interface';
import * as i0 from "@angular/core";
export declare class FsAddressRegionComponent implements OnInit, OnDestroy {
    private _cdRef;
    autocompleteModel: NgModel;
    set region(regionCode: string);
    get region(): string;
    disabled: boolean;
    country: Country | string;
    label: any;
    required: boolean;
    regionCountryOrder: Country[];
    set countries(countryCodes: (string | Country)[]);
    get addressCountries(): IAddressCountry[];
    regionChange: EventEmitter<string>;
    regionModel: IAddressRegion;
    controlName: string;
    regionLabel: string;
    countryEnum: typeof Country;
    private _countries;
    private _destroy$;
    constructor();
    ngOnInit(): void;
    clear(): void;
    ngOnDestroy(): void;
    fetch: (keyword: string) => import("rxjs").Observable<IAddressRegion[]>;
    displayWith: (data: any) => any;
    selectUserOption(keyword: any): void;
    regionChanged(): void;
    justUseShow: (keyword: any) => boolean;
    updateCountryRegionLabels(): void;
    private _listenControlStateChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<FsAddressRegionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FsAddressRegionComponent, "fs-address-region", never, { "region": { "alias": "region"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "country": { "alias": "country"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "regionCountryOrder": { "alias": "regionCountryOrder"; "required": false; }; "countries": { "alias": "countries"; "required": false; }; }, { "regionChange": "regionChange"; }, never, never, true, never>;
}
