import type { MaFlagIconRatio } from '@/index';
import type { MaCountry } from './types';
import type { MaSelectSize } from '../select-2/types';
import type { MaBadgeProps } from '../badge/index.vue';
export interface MaCountrySelectProps {
    value: string | string[] | null;
    countries?: MaCountry[];
    size?: MaSelectSize;
    showSearch?: boolean;
    listHeight?: number;
    showSelectedCountryCode?: boolean;
    placeholder?: string;
    iconRound?: boolean;
    iconRatio?: MaFlagIconRatio;
    dropdownClassName?: string;
    dropdownMatchSelectWidth?: boolean;
    badgeProps?: MaBadgeProps;
    multiple?: boolean;
}
declare var __VLS_7: string | number, __VLS_8: any;
type __VLS_Slots = {} & {
    [K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any;
};
declare const __VLS_component: import("vue").DefineComponent<MaCountrySelectProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    change: (...args: any[]) => void;
    "update:value": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<MaCountrySelectProps> & Readonly<{
    onChange?: (...args: any[]) => any;
    "onUpdate:value"?: (...args: any[]) => any;
}>, {
    size: MaSelectSize;
    multiple: boolean;
    showSearch: boolean;
    listHeight: number;
    showSelectedCountryCode: boolean;
    iconRound: boolean;
    iconRatio: MaFlagIconRatio;
    dropdownClassName: string;
    badgeProps: MaBadgeProps;
    dropdownMatchSelectWidth: boolean;
    countries: MaCountry[];
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
