import type { DictEntry, TranscribedSegment } from "../types"; export * from "./prop_trie"; export * from "./word_split_possibilities"; export declare function compare(a: string | number, b: string | number): 0 | 1 | -1; export declare function reverseCompare(a: string | number, b: string | number): 0 | 1 | -1; export declare function getPropComparer

(prop: P, comp?: (a: V, b: V) => number): (a: { [prop in P]: V; }, b: { [prop in P]: V; }) => number; export declare function sortByFunc(array: T[], keyFunc: (item: T) => string | number): T[]; export declare function multiSubst(str: string, map: Record): string; /** * @param arr An array of objects sorted by `prop`. * @param prop The property to look in. * @param search The string to search for. * @returns An array of objects from `arr` whose `prop` are equal to `search`. */ export declare function bisectLookUp(arr: readonly O[], prop: P, search: string): O[]; /** * Test if one of the given hanzi hints (./data.json.d.ts:`DictEntry.hh`) match the current character. * @param input The input string. * @param i The position of the current character in `input`. * @param char The current character. * @param hh Hanzi hints. * @returns True if one of the hints match the current character, false otherwise. */ export declare function hhMatches(input: string, i: number, char: string, hh: string): boolean; export declare function escapeRegExp(source: string): string; export declare function lazyMap(iterable: Iterable, fn: (value: T) => U): Generator; export declare function makeTranscribedSegment(seg: DictEntry, vType: "h" | "x"): TranscribedSegment;