import * as React from 'react';

type UseSearchProps<T> = {
    list: T[];
    searchMapping: (item: T) => string[];
    initialSearch?: string;
    additionalSearchTags?: string[];
    isSearchInstant?: boolean;
    sortingFunction?: (a: T, b: T) => number;
    filter?: (item: T) => boolean;
    disabled?: boolean;
};
declare const useSearch: <T>({ list, initialSearch, searchMapping, additionalSearchTags, isSearchInstant, sortingFunction, filter, disabled, }: UseSearchProps<T>) => {
    result: T[];
    hasResult: boolean;
    allItems: T[];
    updateSearch: (newSearch?: string) => void;
    search: string;
    setSearch: React.Dispatch<React.SetStateAction<string>>;
};

export { type UseSearchProps, useSearch };
