import type { MongoQuery, DeepReadonlyObject } from './types/index.js'; export declare function lastOfArray(ar: T[]): T; /** * @link https://stackoverflow.com/a/5915122 */ export declare function randomOfArray(items: T[]): T; export declare function shuffleArray(arr: T[]): T[]; /** * normalizes sort-field * in: '-age' * out: 'age' */ export declare function normalizeSortField(field: string | any): string; export declare function getSortFieldsOfQuery(query: MongoQuery): string[]; /** * @link https://stackoverflow.com/a/1431113 */ export declare function replaceCharAt(str: string, index: number, replacement: string): string; export declare function mapToObject(map: Map): { [k: string]: V; }; export declare function objectToMap(object: { [k: string]: V; }): Map; export declare function cloneMap(map: Map): Map; /** * does a flat copy on the objects, * is about 3 times faster then using deepClone * @link https://jsperf.com/object-rest-spread-vs-clone/2 */ export declare function flatClone(obj: T | DeepReadonlyObject): T; export declare function ensureNotFalsy(obj: T | false | undefined | null): T; export declare function mergeSets(sets: Set[]): Set; /** * @link https://stackoverflow.com/a/12830454/3443137 */ export declare function roundToTwoDecimals(num: number): number; export declare function isObject(value: null): value is never; export declare function getProperty(object: any, path: string | string[], value?: any): any;