import { Result } from './result'; /** * @internal */ export type Entry = [string | number | symbol, T]; /** * @internal */ export type ResultEntry = [string | number | symbol, Result]; /** * Normalizes an arbitrary JSON object * @public */ export declare class Normalizer { /** * Normalizes the supplied value * * @param from - The value to be normalized * @returns A normalized version of the value */ normalize(from: T): Result; /** * Compares two property names from some object being normalized. * @param k1 - First key to be compared. * @param k2 - Second key to be compared. * @returns `1` if `k1` is greater, `-1` if `k2` is greater and * `0` if they are equal. * @internal */ protected _compareKeys(k1: unknown, k2: unknown): number; /** * Normalizes an array of object property entries (e.g. as returned by `Object.entries()`). * @remarks * Converts property names (entry key) to string and then sorts as string. * @param entries - The entries to be normalized. * @returns A normalized sorted array of entries. */ normalizeEntries(entries: Iterable>): Entry[]; protected _normalizeArray(from: unknown[]): Result; /** * Normalizes the supplied literal value * @param from - The literal value to be normalized. * @returns A normalized value for the literal. */ normalizeLiteral(from: T): Result; } //# sourceMappingURL=normalize.d.ts.map