import { Iso2 } from "./intl-tel-input/data";
import type { NumberType, SomeOptions, IntlTelInputInterface, SelectedCountryData } from "./modules/types/public-api";
declare global {
    interface HTMLInputElement {
        iti?: Iti;
    }
}
export declare class Iti {
    readonly id: number;
    readonly promise: Promise<[unknown, unknown]>;
    private readonly ui;
    private readonly options;
    private readonly isAndroid;
    private readonly countries;
    private readonly dialCodeMaxLen;
    private readonly dialCodeToIso2Map;
    private readonly dialCodes;
    private readonly countryByIso2;
    private selectedCountryData;
    private maxCoreNumberLength;
    private defaultCountry;
    private abortController;
    private dropdownAbortController;
    private userNumeralSet;
    private resolveAutoCountryPromise;
    private rejectAutoCountryPromise;
    private resolveUtilsScriptPromise;
    private rejectUtilsScriptPromise;
    constructor(input: HTMLInputElement, customOptions?: SomeOptions);
    private static _getIsAndroid;
    private _updateNumeralSet;
    private _mapAsciiToUserNumerals;
    private _normaliseNumerals;
    private _getTelInputValue;
    private _setTelInputValue;
    private _createInitPromises;
    _init(): void;
    private _processCountryData;
    private _setInitialState;
    private _initListeners;
    private _initHiddenInputListener;
    private _initDropdownListeners;
    private _initRequests;
    private _loadAutoCountry;
    private _openDropdownWithPlus;
    private _initTelInputListeners;
    private _bindInputListener;
    private _maybeBindKeydownListener;
    private _maybeBindPasteListener;
    private _cap;
    private _trigger;
    private _openDropdown;
    private _setDropdownPosition;
    private _bindDropdownListeners;
    private _bindDropdownMouseoverListener;
    private _bindDropdownCountryClickListener;
    private _bindDropdownClickOffListener;
    private _bindDropdownKeydownListener;
    private _bindDropdownSearchListeners;
    private _searchForCountry;
    private _filterCountriesByQuery;
    private _handleUpDownKey;
    private _handleEnterKey;
    private _updateValFromNumber;
    private _updateCountryFromNumber;
    private _ensureHasDialCode;
    private _getNewCountryFromNumber;
    private _setCountry;
    private _updateMaxLength;
    private _updatePlaceholder;
    private _selectListItem;
    private _closeDropdown;
    private _updateDialCode;
    private _getDialCode;
    private _getFullNumber;
    private _beforeSetNumber;
    private _triggerCountryChange;
    handleAutoCountry(): void;
    handleUtils(): void;
    destroy(): void;
    getExtension(): string;
    getNumber(format?: number): string;
    getNumberType(): number;
    getSelectedCountryData(): SelectedCountryData;
    getValidationError(): number;
    isValidNumber(): boolean | null;
    isValidNumberPrecise(): boolean | null;
    private _utilsIsPossibleNumber;
    private _validateNumber;
    private _utilsIsValidNumber;
    setCountry(iso2: Iso2): void;
    setNumber(number: string): void;
    setPlaceholderNumberType(type: NumberType): void;
    setDisabled(disabled: boolean): void;
}
declare const intlTelInput: IntlTelInputInterface;
export default intlTelInput;
