import { IWordsData, IFilterType } from './props';
/**
 * json转字符串
 * @param {string} data 需要转json的字符串
 * @return {object} json 字符串
 */
export declare function safeJSONparse(data: string): object;
/**
 * 判断数组是否为空
 */
export declare function isWordsDataEmpty(arr: any): boolean;
/**
 * 清除字符串里的数字
 */
export declare function clearNumberInStr(str: string): string;
/**
 * 格式化字库数据
 * @param datas ZDatas 数据
 * @return {IWordsData} 字库
 */
export declare function formatZDatas(datas?: any[]): any[];
/**
 * 候选字推荐序函数
 * 考虑两个维度，一个是输入值和生僻字的匹配程度，比如你输入YA 雅是完全匹配，炎是模糊匹配，排列的时候肯定”雅“在前面，
 * 如果除了”雅“还有一个”亚“，两个都是完全匹配，这个时候就看哪个字占比高，哪个就排在前面
 * @param {IWordsData} wordsData 字库数据
 * @param {string} inputValue 当前输入的值
 * @param {string} filterKey 过滤依据的key值
 * @return {IWordsData} 返回符合要求并且排序好的候选项列表
 */
export declare function matchWordsRecommend(wordsData?: IWordsData, inputValue?: string, filterKey?: IFilterType): IWordsData;
/**
 * 字库过滤，只挑选符合要求的候选字
 * @param {IWordsData} wordsData 字库数据
 * @param {string} inputValue 当前输入的值
 * @param {string} filterKey 过滤依据的key值
 * @return {IWordsData} 返回符合要求并且排序好的候选项列表
 */
export declare function wordsFilter(wordsData?: IWordsData, inputValue?: string, filterKey?: IFilterType): IWordsData;
/**
 * 候选项排序，用户选择可能性高的候选项排在前面
 * @param {IWordsData} wordsData 字库数据
 * @param {string} inputValue 当前输入的值
 * @param {string} filterKey 过滤依据的key值
 * @return {IWordsData} 返回符合要求并且排序好的候选项列表
 */
export declare function wordsSorter(wordsData: IWordsData, inputValue: string, filterKey?: IFilterType): IWordsData;
/**
 * 加载远程字体
 */
export declare function loadFontFace(): Promise<void>;
