import { PhoneValidator, FormInputLocalization, FormSelectItem } from "../../features/form-hook/index";
import { FormHook } from "../../features/form-hook/form-hook";
import { FormElement } from "../../features/form-hook/interface";
import { AnyObjectSchema } from 'yup';
export declare class FormPhoneNumber implements FormElement {
    name: string;
    wrapperId: string;
    required?: boolean;
    isLoading?: boolean;
    form: FormHook<any>;
    inputPrefix: string;
    wrapperClass: string;
    defaultValue: string;
    type: string;
    isDisabled?: boolean;
    staticValue?: string;
    prefixWidth: number;
    localization?: FormInputLocalization;
    countryCode?: string | string[] | {
        code: string;
        icon?: string;
    }[];
    el: HTMLElement;
    selectedValue: string;
    isOpen: boolean;
    validator: PhoneValidator;
    externalRequired: boolean;
    private inputRef;
    componentWillLoad(): Promise<void>;
    private detectCountryFromBrowser;
    onCountryChange(): Promise<void>;
    onDefaultValueChange(): Promise<void>;
    onStaticValueChange(newStaticValue?: string, notInitialLoad?: boolean): Promise<void>;
    onValidatorChange(): Promise<void>;
    componentDidLoad(): Promise<void>;
    disconnectedCallback(): Promise<void>;
    reset(newValue?: string): void;
    onInputChange: (event: InputEvent) => void;
    validate: () => AnyObjectSchema;
    getValue: () => string;
    updateShiftSelectContext: (newValues: Record<string, any>) => void;
    handleSelection: (option: FormSelectItem) => void;
    renderCountryOption: (renderOption: FormSelectItem) => any;
    render(): any;
}
