import * as vue_demi from 'vue-demi'; import { ComputedRef } from 'vue-demi'; import Fuse from 'fuse.js'; import { MaybeRefOrGetter } from '@vueuse/shared'; type FuseOptions = Fuse.IFuseOptions; interface UseFuseOptions { fuseOptions?: FuseOptions; resultLimit?: number; matchAllWhenSearchEmpty?: boolean; } declare function useFuse(search: MaybeRefOrGetter, data: MaybeRefOrGetter, options?: MaybeRefOrGetter>): { fuse: vue_demi.Ref<{ search: (pattern: string | Fuse.Expression, options?: Fuse.FuseSearchOptions | undefined) => Fuse.FuseResult[]; setCollection: (docs: readonly DataItem[], index?: Fuse.FuseIndex | undefined) => void; add: (doc: DataItem) => void; remove: (predicate: (doc: DataItem, idx: number) => boolean) => DataItem[]; removeAt: (idx: number) => void; getIndex: () => Fuse.FuseIndex; }>; results: ComputedRef[]>; }; type UseFuseReturn = ReturnType; export { type FuseOptions, type UseFuseOptions, type UseFuseReturn, useFuse };