import type { Color, CountryCode, Position, Size, Translations } from '../MazPhoneNumberInput.vue';
import { type HTMLAttributes } from 'vue';
type __VLS_Props = {
    /** Style attribut of the component root element */
    style?: HTMLAttributes['style'];
    /** Class attribut of the component root element */
    class?: HTMLAttributes['class'];
    modelValue?: CountryCode | undefined | null;
    id: string;
    color: Color;
    size: Size;
    preferredCountries?: CountryCode[];
    ignoredCountries?: CountryCode[];
    onlyCountries?: CountryCode[];
    customCountriesList?: Record<CountryCode, string>;
    locales: Translations;
    listPosition?: Position;
    noFlags?: boolean;
    noSearch?: boolean;
    disabled?: boolean;
    showCodeOnList?: boolean;
    countryLocale?: string;
    success?: boolean;
    error?: boolean;
    countrySelectorDisplayName?: boolean;
    searchThreshold?: number;
    width: string;
    excludeSelectors?: string[];
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        "selector-flag"?(_: {
            countryCode: CountryCode;
        }): any;
        "no-results"?(_: {}): any;
        "country-list-flag"?(_: {
            countryCode: string;
            option: import("../MazSelect.vue").NormalizedOption;
            isSelected: boolean;
        }): any;
    };
    refs: {
        CountrySelectorRef: import("vue").ShallowUnwrapRef<{
            openList: (event: Event) => Promise<void>;
            closeList: (event?: Event) => Promise<void>;
        }> | null;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    "update:model-value": (countryCode?: CountryCode | undefined) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
    "onUpdate:model-value"?: ((countryCode?: CountryCode | undefined) => any) | undefined;
}>, {
    style: string | false | import("vue").CSSProperties | import("vue").StyleValue[] | null;
    width: string;
    class: HTMLAttributes["class"];
    modelValue: CountryCode | null;
    listPosition: Position;
    excludeSelectors: string[];
    preferredCountries: CountryCode[];
    ignoredCountries: CountryCode[];
    onlyCountries: CountryCode[];
    customCountriesList: Record<CountryCode, string>;
    countryLocale: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
