import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; import { CountryData } from '../data-types/countryList'; import { Country } from '../data-types/country'; import * as i0 from "@angular/core"; export declare class AngularPhoneNumberInput implements ControlValueAccessor, Validator { error: boolean | undefined; defaultCountry: string; preferredCountries: string[]; border: boolean; sanitizer: DomSanitizer; countryList: CountryData; dataSet: CountryData; showModal: boolean; selectedCountry: Country; inputFocused: boolean; disabled: boolean; value: string; globeSVG: string; /** Callback function triggered on value change. */ onChange: (value: string) => void; /** Callback function triggered on input touch. */ onTouched: () => void; /** Handles the input blur event. */ onBlur: () => void; /** * Handles the input focus event. */ onFocus: () => void; /** * Writes a new value to the input. * @param obj - The new value. */ writeValue: (value: string) => void; /** * Registers a callback function to be executed when the input value changes. * @param fn - The callback function. */ registerOnChange: (fn: () => void) => void; /** * Registers a callback function to be executed when the input is touched. * @param fn - The callback function. */ registerOnTouched: (fn: () => void) => void; /** * Sets the disabled state of the input. * @param isDisabled - The disabled state. */ setDisabledState: (isDisabled: boolean) => void; /** * Initializes default country and preferred countries on component initialization. * Calls setDefaultCountry and setPreferredCountries methods. */ ngOnInit(): void; /** * Sets the default country based on the provided defaultCountry value. * If the default country exists in the countryList, sets the selectedCountry accordingly. */ setDefaultCountry: () => void; /** * Sets preferred countries based on the provided preferredCountries array. * Filters the countryList to contain only the preferred countries if they exist. */ setPreferredCountries: () => void; /** * Toggles the modal visibility and sets the dataSet to the current countryList. */ toggleModal(): void; /** * Sets the full phone number by concatenating the country dial code and the input value. * Updates the value using the onChange callback. * @returns {void} */ setFullPhoneNumber: () => void; /** * Selects a country and emits the corresponding event. * @param {Country} data - The selected country data. */ selectCountry(data: { key: string; value: CountryData[string]; }): void; /** * Extracts the country code and phone number from the provided phone number string. * @param {string} phoneNumber - The input phone number string. * @returns {void} */ extractValues: (phoneNumber: string) => void; /** * Tries to determine the selected country based on the provided input value. * Updates the selected country and value if a matching country code is found. * @returns {void} */ getCountryWithInput(): void; /** * Emits the current input value. */ onInputChanged(): void; /** * Filters the countries based on the provided search term and updates the dataset. * @param {string} searchTerm - The term to search for within country names or dial codes. * @returns {void} */ filterCountries(searchTerm: string): void; /** * Handles changes in the search input by invoking the filterCountries method with the input value. * @param {Event} event - The event object from the search input. * @returns {void} */ onSearchChange(event: Event): void; /** * Retrieves the sanitized HTML representation of an icon string. * @param {string | undefined} iconString - The string representation of an SVG icon. * @returns {SafeHtml | undefined} The sanitized HTML representation of the icon string. */ getIcon: (iconString: string | undefined) => SafeHtml | undefined; /** * Validates the input control. * @param control - The AbstractControl instance. * @returns ValidationErrors if value is null. */ validate: (control: AbstractControl) => ValidationErrors | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }