import { type AnyObject } from './common'; type NestedToMultiOptionKeys = { getValue: (option: any) => any; getChildren: (option: any) => any; }; /** * 此方法创建一个对象,该对象由自己不可省略的属性组成。 */ export declare function omit(object: T, keys: U[]): Omit; /** * 此方法创建一个对象,该对象由自己挑选的属性组成。 */ export declare function pick(object: T, keys: U[]): Pick; /** * 根据指定的键数组将对象拆分为两个对象,一个包含指定键的属性,另一个包含其余属性。 */ export declare function partition(object: T, keys: U[]): [Pick, Omit]; /** * 深度克隆对象,仅克隆数组和无格式对象,其他类型会被直接返回 */ export declare function deepClone(target: any): any; /** * 深拷贝其他对象到第一个对象 */ export declare function extend(...args: any[]): any; /** * 深度合并多个对象并返回新对象:纯对象会递归合并,数组等其他非纯对象会被整体覆盖。 * 与 `extend` 不同,不会修改传入的任何对象。 */ export declare function assignDeep(...objects: Record[]): Record; export declare function treeToMap(tree: AnyObject[], keyName: string, childrenName: string, parentName: string): { [p: string]: AnyObject; }; /** * @description: 链式获取对象值 * @param object * @param chain 通过点分割的字符串或者字符串数组 */ export declare function chainGet(object: any, chain?: string | number | (string | number)[]): any; /** * @description: 链式设置对象值 * @param object * @param chain 通过点分割的字符串或者字符串数组 * @param value 要设置的值 */ export declare function chainSet(object: any, chain: string | number | (string | number)[], value: any): void; export declare function nestedToMulti(nested: any[], values: (number | string)[], { getValue, getChildren }: NestedToMultiOptionKeys): any[]; export {};