import type { DistanceFn } from "./api.js";
/**
 * Returns the inverse {@link jaccardSimilarity}, i.e. as distance metric rather
 * than similarity. Returns a value in `[0,1]` interval: 0.0 if `a` and `b` are
 * equal, or 1.0 if none of the components match.
 *
 * @remarks
 * The sizes of both input vectors MUST be equal. All non-zero vector component
 * values are treated equal.
 *
 * References:
 *
 * - https://en.wikipedia.org/wiki/Jaccard_index
 * - https://en.wikipedia.org/wiki/One-hot
 *
 * @example
 * ```ts tangle:../export/dist-jaccard.ts
 * import { distJaccard } from "@thi.ng/vectors";
 *
 * console.log(distJaccard([0, 0, 0, 0], [1, 1, 1, 1]));
 * // 1
 *
 * console.log(distJaccard([0, 1, 0, 0], [1, 1, 1, 1]));
 * // 0.75
 *
 * console.log(distJaccard([0, 1, 1, 0], [0, 1, 1, 0]));
 * // 0
 * ```
 *
 * @param a -
 * @param b -
 */
export declare const distJaccard: DistanceFn;
/**
 * Returns the Jaccard similarity of given multi-hot vectors, a value in the
 * `[0,1]` interval: 1.0 if `a` and `b` are equal, or 0.0 if none of the
 * components match.
 *
 * @remarks
 * The sizes of both input vectors MUST be equal. All non-zero vector component
 * values are treated equal.
 *
 * References:
 *
 * - https://en.wikipedia.org/wiki/Jaccard_index
 * - https://en.wikipedia.org/wiki/One-hot
 *
 * @example
 * ```ts tangle:../export/jaccard-similarity.ts
 * import { jaccardSimilarity } from "@thi.ng/vectors";
 *
 * console.log(jaccardSimilarity([0, 0, 0, 0], [1, 1, 1, 1]));
 * // 0
 *
 * console.log(jaccardSimilarity([0, 1, 0, 0], [1, 1, 1, 1]));
 * // 0.25
 *
 * console.log(jaccardSimilarity([0, 1, 1, 0], [0, 1, 1, 0]));
 * // 1
 * ```
 *
 * @param a -
 * @param b -
 */
export declare const jaccardSimilarity: DistanceFn;
//# sourceMappingURL=dist-jaccard.d.ts.map