import { NormalObject } from '@vunk/core/shared/types'; export declare function isObject(object: any): boolean; export declare function isPlainObject(obj: any): boolean; export declare function isEmptyObject(obj: object): boolean; export declare function isNotEmptyObject(obj: object): boolean; /** * 从对象中提取指定的属性 * @param data 数据 * @param opts * @param opts.excludes 排除的属性 * @param opts.includes 包含的属性 * @returns 返回一个新的对象 */ export declare const pickObject: (data: T, opts?: { excludes?: EX; includes?: KI[]; }) => { [P in EX extends (infer KE)[] ? Exclude : KI]: T[P]; }; /** * Same as `Object.assign()` but with type inference * @param obj The object to assign to * @param objAddendum The object to assign from */ export declare function objectAssign(obj: Obj, objAddendum: ObjAddendum): asserts obj is Obj & ObjAddendum;