type DisplayStyle = 'compact' | 'detailed';
interface TooltipFn<T = any> {
    (item: T): string;
}
interface SubtitleFn<T = any> {
    (item: T): string | undefined;
}
type __VLS_Props = {
    fields?: {
        title?: string | ((item: any) => string);
        value?: string | ((item: any) => unknown);
        subtitle?: string | SubtitleFn;
        group?: string;
        isMainGroup?: string;
    };
    modelValue: any;
    items: any[];
    itemTitle?: string | ((item: any) => string);
    itemValue?: string | ((item: any) => unknown);
    displayStyle?: DisplayStyle;
    multiple?: boolean;
    clearable?: boolean;
    label?: string;
    placeholder?: string;
    density?: 'default' | 'comfortable' | 'compact';
    disabled?: boolean;
    loading?: boolean;
    error?: boolean;
    rules?: ((v: any) => true | string)[];
    returnObject?: boolean;
    chips?: boolean;
    maxWidth?: string | number;
    itemSubtitle?: string | SubtitleFn;
    tooltip?: string | TooltipFn;
    tooltipLocation?: 'top' | 'bottom' | 'start' | 'end';
    tooltipOpenDelay?: number;
    tooltipCloseDelay?: number;
    groupField?: string;
    isMainGroupField?: string;
};
declare var __VLS_22: {
    item: any;
}, __VLS_24: {
    item: any;
    groupMembers: any[];
}, __VLS_38: {
    item: any;
};
type __VLS_Slots = {} & {
    'item-append'?: (props: typeof __VLS_22) => any;
} & {
    tooltip?: (props: typeof __VLS_24) => any;
} & {
    'item-append'?: (props: typeof __VLS_38) => any;
};
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    "update:modelValue": (value: any) => any;
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
    "onUpdate:modelValue"?: (value: any) => any;
}>, {
    density: "default" | "compact" | "comfortable";
    itemTitle: string | ((item: any) => string);
    itemValue: string | ((item: any) => unknown);
    displayStyle: DisplayStyle;
    multiple: boolean;
    clearable: boolean;
    returnObject: boolean;
    chips: boolean;
    tooltipLocation: "end" | "start" | "top" | "bottom";
    tooltipOpenDelay: number;
    tooltipCloseDelay: number;
    groupField: string;
    isMainGroupField: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=CustomAutocomplete.vue.d.ts.map