import type { AnyObject } from '../types'; export declare function tryLoadJSON5(useCache?: boolean): Promise; export declare function safeJsonParse(input: string, useJSON5?: boolean, ignoreError?: boolean): T; export declare function safeStringify(obj: any, space?: string | number, useJSON5?: boolean): string; /** * 获取一个对象的 key 列表(返回指定的类型) */ export declare function getObjectKeysUnsafe(value: T): (keyof T)[]; export declare function deepClone(obj: T): T; export declare function mixin(destination: AnyObject, source: AnyObject, overwrite?: boolean): T; /** 合并类数组对象。若执行了合并,会去除重复的值 */ export declare function mergeArrayLike(a: T, b: unknown): T; export interface SimpleAssignOptions { filter?: (value: unknown, key: string) => boolean; /** 是否对类数组(Array、Set、Map) 作合并并去重。为 false 则简单替换。默认为 false */ mergeArrayLike?: boolean; } /** * 将 b 深度合并到 a */ export declare function simpleAssign, U>(a: T, b: U, options?: SimpleAssignOptions, seen?: Set): T & U; /** * 将 b 深度合并到 a,但不包括属性值为 null 的属性 * @param {boolean} [isOnlyNil=true] 是否仅忽略 null 和 undefined。为 false 则忽略所有空值(![key] === true) */ export declare function assignExceptNil(a: T, b: U, isOnlyExceptNull?: boolean): T & U; /** 简易的对象深复制 */ export declare function assign(a: T, ...args: Record[]): T; export declare function ensureArray(input: readonly T[] | T | undefined | null): readonly T[]; /** 将 object 所有 key 转换为小写 */ export declare function toLowcaseKeyObject>(info?: T): T; /** 过滤指定的key或空值,返回新的对象 */ export declare function objectFilterByKeys>(obj: T, options?: { removeKeys?: (string | RegExp)[]; onlyKeys?: (string | RegExp)[]; removeNil?: boolean; }): Record;