export declare function isPlainObject(obj: any): boolean; export declare function reverseKV(obj: Record): Record; export declare function remove>(obj: T, f: (v: T[keyof T], k: keyof T, obj: T) => boolean): T; export declare function remove(arr: T[], f: (v: T, k: number, arr: T[]) => boolean): T[]; /** * 从对象中移除空值 * 注意: removeBlank会移除零长字符串, removeEmpty会移除{} * 但removeEmpty不会移除[] */ export declare function removeNils(obj: Record, options?: { removeBlank?: boolean; removeEmpty?: boolean; recursive?: boolean; }): Record; export declare function removeProp(obj: Record, prop: string, options?: { recursive?: boolean; }): Record; export declare function objSubtract(obj2: T, obj1: T, reserveKey?: string): Partial; export declare function objSubtractDeep(obj2: T, obj1: T, options?: { removeBlank?: boolean; removeEmpty?: boolean; removeNil?: boolean; }): Partial; export declare function getOrElse>(obj: T, k: keyof T, defaultValue?: T[keyof T]): T[keyof T] | undefined; export declare function getNumberOrElse>(obj: T, k: keyof T, defaultValue?: number): number; /** * 注意与JSON.parse不同 */ export declare function str2object(s: string): any; /** * 注意与JSON.stringify不同 */ export declare function object2str(obj: any): string; export declare function dissoc(obj: any, arr: string[] | string): any; /** * 类似Rx.mergeDeep, 但支持数组 ( 按index ) */ export declare function mergeDeep(slave: any, master: any): any; /** * [{id:1},{id:2}] =>{1: {id:1}, 2: {id:2}} */ export declare function idMap(idArray: T[], idField?: string): { [id: string]: T; }; export declare function deepRenameProps(obj: Record, keyMapping: { [k: string]: string; }): object;