import React from "react";
import { FuzzyOptions } from "./hooks/useFuse";
import { ZimMarkOptions } from "./hooks/useMark";
export interface ZIMSearchAble<T = string> {
    label: string;
    value: T;
    txt?: string;
    tags?: string[];
    [property: string]: any;
}
export interface Props {
    data?: ZIMSearchAble[];
    tagConceptMap?: {
        [tagName: string]: {
            url: string;
        };
    };
    onSelect?: (sel: ZIMSearchAble) => void;
    onTagSelect?: (tagObj: {
        url: string;
    }) => void;
    onSearch?: (searchVal: string) => void;
    onInput?: (val: string) => void;
    onFuseScoreToCssClass?: (scoreAsFloat: number) => string;
    searchInput?: string;
    placeHolder?: string;
    fuseOptions?: FuzzyOptions;
    fuseKeyMap?: {
        [fuseKey: string]: {
            label: string;
        };
    } | null;
    fuseKeyAllLabel?: string;
    onFuseKeySelect?: (fuseKeyMap: string[]) => void;
    markOptions?: ZimMarkOptions;
    resultCountLabel?: string;
    searchOnClick?: boolean;
    showResultGrid?: boolean;
    suggestions?: {
        [property: string]: {
            label: string;
            value: string;
        };
    };
    children?: JSX.Element;
}
declare const ZIMFuzzySearch: React.FC<Props>;
export default ZIMFuzzySearch;
