export declare function mapObject(obj: Record, fn: (v: T, k: string) => P): Record; export declare function mapObjectAsync(obj: Record, fn: (v: T, k: string) => Promise

): Promise>; type ItemWithNestedProps = { items?: ItemWithNestedProps[]; [key: string]: any; }; /** * Only works when items are nested in 'items' prop. Make generic if needed * @param list input list to collect the prop from * @param propName name of the prop to collect * @param res Resulting array * @returns Array of collected prop values */ export declare function collectPropValueDeep(list: ItemWithNestedProps[], propName: string, res?: T[]): T[]; /** * Inspired by https://davidwalsh.name/javascript-debounce-function */ export declare function debounce any>(func: F, wait?: number, immediate?: boolean): (this: ThisParameterType, ...args: Args & Parameters) => void; export declare function memoize any>(func: F, resolver?: (...args: Parameters) => unknown): F; export declare function memoizeDebounce any>(func: F, wait?: number, immediate?: boolean, resolver?: (...args: Parameters) => unknown): F; export declare function isFunction(value: any): value is (...args: any[]) => T; export declare function mapToObject(map: Pick, 'entries'>): Record; export declare function isBrowser(): boolean; export declare function compareURIs(entityIdA: string, entityIdB: string): boolean; export declare function isDefined(value: T | undefined | null): value is T; type TUnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; export declare function isObject(obj: unknown): obj is object; export declare function deepMerge(...objects: T): TUnionToIntersection; type ObjectOrArray = Record | unknown[]; export declare function removeDeepProperty(obj: ObjectOrArray | unknown, [filed, ...path]: string[]): void; export declare function findInIterable(iter: Iterable, predicate: (item: T) => boolean | undefined): T | undefined; export declare function unique(array: T[], predicate?: (item: T) => unknown): T[]; export declare function findDeepFirst(list: T[], cb: (item: T) => boolean): T | undefined; export declare function partition(list: T[], predicate: (item: T) => string): T[][]; export declare function ensureArray(maybeArray: T | T[]): T[]; /** * Splits an array using a provided predicate. * Returns two arrays as a tuple. First array contains all values for which predicate returned true. * Second array contains all values for which predicate returned false. * @param inputArray */ export declare function splitArray(inputArray: T[], predicate: (arrayItem: T) => boolean): [T[], T[]]; /** * Sorts object keys in alphabetical order. * Can be used for serialization. * @param input * @returns */ export declare function sortObjectKeys(input: Record): { [k: string]: unknown; }; /** * Based on https://stackoverflow.com/questions/18749591/encode-html-entities-in-javascript/23834738#23834738 */ export declare function encodeHtmlEntities(input: string): string; export {}; //# sourceMappingURL=jsUtils.d.ts.map