import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core"; import { ControlContainer, ControlValueAccessor, FormControl } from "@angular/forms"; import { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete"; import * as i0 from "@angular/core"; /** * Country interface ISO 3166 */ export interface Country { name?: string; alpha2Code: string; alpha3Code?: string; numericCode?: string; callingCode?: string; } type CustomOptional = Omit & Partial; type CountryOptionalMandatoryAlpha2Code = CustomOptional; /** * @author Anthony Nahas * @since 11.19 * @version 2.1.0 */ export declare class MatSelectCountryComponent implements OnInit, OnChanges, ControlValueAccessor { i18n: string; private controlContainer; private cdRef; appearance: "fill" | "outline"; countries: Country[]; label: string; placeHolder: string; required: boolean; disabled: boolean; /** @deprecated Use clearable to allow user unselect country.*/ nullable: boolean; readonly: boolean; tabIndex: number | string; class: string; itemsLoadSize: number; loading: boolean; showCallingCode: boolean; excludedCountries: CountryOptionalMandatoryAlpha2Code[]; language: string; name: string; error: string; cleareable: boolean; formControlName?: string; panelWidth?: string | undefined; _value?: Country | undefined; extendWidth: boolean; hint?: string | undefined; onCountrySelected: EventEmitter; _formControl: FormControl; filteredOptions: Country[]; db: Country[]; loadingDB: boolean; debounceTime: number; filterString: string; onChange: any; onTouched: any; debounceTimeout: any; private control; constructor(i18n: string, controlContainer: ControlContainer, cdRef: ChangeDetectorRef); get value(): Country | null; set value(val: Country | null); ngOnInit(): Promise; ngOnChanges(changes: SimpleChanges): void; clear(): void; inputChanged(value?: string | null): void; onOptionsSelected($event: MatAutocompleteSelectedEvent): void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; getValueLabel(el?: Country): string; _loadCountriesFromDb(): Promise; private _importLang; private _applyFilters; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};