//#region src/types.d.ts /** * An alphabetic string type (only A-Z, a-z, and hyphens are accepted). * アルファベット文字列型(A-Z, a-z, ハイフンのみ許容) */ type AlphabeticString = string & { __alphabeticBrand?: never; }; /** * A candidate object for similarity search. * 類似度検索の候補オブジェクト */ interface Candidate { /** The candidate word. / 候補単語 */ word: string; /** Optional pronunciation hint in alphabetic form. / 任意のアルファベット読み仮名 */ pronounce?: AlphabeticString; } /** * The result of a similarity comparison. * 類似度比較の結果 */ interface CloseWordsResult { /** The candidate word. / 候補単語 */ word: string; /** Similarity score from 0 to 1. / 類似度スコア(0〜1) */ score: number; } //#endregion //#region src/index.d.ts type WordInput = string | Candidate; /** * Finds the closest word(s) from candidates to the given reference word. * Supports Japanese (including kanji via morphological analysis) and alphabetic strings. * * 与えられた単語に最も近い候補単語を返します。 * 日本語(漢字を含む形態素解析)およびアルファベット文字列に対応しています。 * * @param word - Reference word or candidate object. / 比較対象の単語またはオブジェクト * @param candidates - List of candidate words or objects. / 候補リスト * @param raw - If true, returns all candidates with scores sorted descending. Default: false. / true のとき全候補をスコア降順で返す。デフォルト: false * @returns When raw is false: word(s) with the highest score. When raw is true: all candidates with scores. / raw が false のとき最高スコアの単語配列、true のとき全候補のスコア付き配列 */ declare function closeWords(word: WordInput, candidates: WordInput[], raw?: false): Promise; declare function closeWords(word: WordInput, candidates: WordInput[], raw: true): Promise; //#endregion export { type AlphabeticString, type Candidate, type CloseWordsResult, closeWords };