import { Constructor, GenericCallback } from "../../models.mjs"; //#region src/internal/value/compare.d.ts type Comparator = (first: Value, second: Value) => number; /** * Compare two values _(for sorting purposes)_ * * @param first First value * @param second Second value * @returns `0` if equal; `-1` first comes before second; `1` first comes after second */ declare function compare(first: unknown, second: unknown): number; declare namespace compare { var handlers: { deregister(constructor: Constructor): void; handle(first: unknown, second: unknown, ...parameters: unknown[]): number; register(constructor: Constructor, handler?: string | GenericCallback): void; }; var deregister: typeof deregisterComparator; var register: typeof registerComparator; } /** * Deregister a custom comparison handler for a class * * _Available as `deregisterComparator` and `compare.deregister`_ * * @param constructor Class constructor */ declare function deregisterComparator(constructor: Constructor): void; /** * Register a custom comparison handler for a class * * _Available as `registerComparator` and `compare.register`_ * * @param constructor Class constructor * @param handler Method name or comparison function _(defaults to `compare`)_ */ declare function registerComparator(constructor: Constructor, handler?: string | Comparator): void; //#endregion export { compare, deregisterComparator, registerComparator };