import { SelectOptionSlotProps, SelectProps } from './select.js';
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
declare const _default: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onClear?: (() => any) | undefined;
        readonly onBlur?: (() => any) | undefined;
        readonly onChange?: ((value: T | T[] | null) => any) | undefined;
        readonly onFocus?: (() => any) | undefined;
        readonly "onUpdate:modelValue"?: ((value: T | T[] | null) => any) | undefined;
        readonly onVisibleChange?: ((value: boolean) => any) | undefined;
        readonly onSearchChange?: ((value: string) => any) | undefined;
    } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onChange" | "onFocus" | "onBlur" | "onUpdate:modelValue" | "onClear" | "onVisibleChange" | "onSearchChange"> & SelectProps<T> & Partial<{}>> & PublicProps;
    expose(exposed: ShallowUnwrapRef<{
        focus: () => void;
        blur: () => Promise<void>;
        open: () => Promise<void>;
        close: (shouldValidate?: boolean, restoreFocus?: boolean) => Promise<void>;
    }>): void;
    attrs: any;
    slots: Readonly<{
        prefix?: () => unknown;
        suffix?: () => unknown;
        header?: () => unknown;
        footer?: () => unknown;
        loading?: () => unknown;
        empty?: () => unknown;
        option?: (props: SelectOptionSlotProps<T>) => unknown;
    }> & {
        prefix?: () => unknown;
        suffix?: () => unknown;
        header?: () => unknown;
        footer?: () => unknown;
        loading?: () => unknown;
        empty?: () => unknown;
        option?: (props: SelectOptionSlotProps<T>) => unknown;
    };
    emit: ((evt: "clear") => void) & ((evt: "blur") => void) & ((evt: "change", value: T | T[] | null) => void) & ((evt: "focus") => void) & ((evt: "update:modelValue", value: T | T[] | null) => void) & ((evt: "visibleChange", value: boolean) => void) & ((evt: "searchChange", value: string) => void);
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
