export declare function toArray(val: T | T[]): T[]; export declare function objectToKeys(obj: T): (keyof T)[]; export declare function objectToEntries(obj: T): [keyof T, T[keyof T]][]; export declare function objectFromEntries(entries: [K, V][]): Record; export declare function countOccurrences(values: T[]): Partial>; export declare function distinct(array: T[]): T[]; export declare function deepClone(obj: T): T; export declare function factorOf(items: T[], filterFn: (i: T) => boolean): number; type ArgumentValue = number | string | boolean | string[]; export type CliArgsObject> = T extends never ? Record | { _: string; } : T; /** * Converts an object with different types of values into an array of command-line arguments. * * @example * const args = objectToCliArgs({ * _: ['node', 'index.js'], // node index.js * name: 'Juanita', // --name=Juanita * formats: ['json', 'md'] // --format=json --format=md * }); */ export declare function objectToCliArgs>(params?: CliArgsObject): string[]; export declare function toUnixPath(path: string): string; export declare function toUnixNewlines(text: string): string; export declare function fromJsonLines(jsonLines: string): T; export declare function toJsonLines(json: T[]): string; export declare function toNumberPrecision(value: number, decimalPlaces: number): number; export declare function toOrdinal(value: number): string; export declare function removeUndefinedAndEmptyProps(obj: T): T; export {};