import { MaybeReadonly } from '../../types';
import { SelectModelValue, SelectOption, SelectOptionGroup, SelectOptionGroupNormalized } from '../../types/selectOption';
type __VLS_Props = {
    modelValue: string | number | boolean | null | SelectModelValue[] | undefined;
    options: MaybeReadonly<(SelectOption | SelectOptionGroup)[]>;
    multiple?: boolean;
    small?: boolean;
};
declare var __VLS_1: {}, __VLS_16: {
    group: SelectOptionGroupNormalized;
}, __VLS_23: {
    index: number;
    option: {
        label: string;
        value: SelectModelValue;
        disabled?: boolean;
    };
    selected: boolean;
    highlighted: boolean;
}, __VLS_26: {}, __VLS_28: {}, __VLS_30: {};
type __VLS_Slots = {} & {
    'pre-options'?: (props: typeof __VLS_1) => any;
} & {
    group?: (props: typeof __VLS_16) => any;
} & {
    option?: (props: typeof __VLS_23) => any;
} & {
    'options-empty'?: (props: typeof __VLS_26) => any;
} & {
    bottom?: (props: typeof __VLS_28) => any;
} & {
    'post-options'?: (props: typeof __VLS_30) => any;
};
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    bottom: () => any;
    "update:modelValue": (value: SelectModelValue | SelectModelValue[]) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
    onBottom?: (() => any) | undefined;
    "onUpdate:modelValue"?: ((value: SelectModelValue | SelectModelValue[]) => any) | undefined;
}>, {}, {}, {}, {}, 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;
    };
};
