import { ObjectType } from '../common/type'; export declare function insertPoint(name: string): string; interface deepOptions { clone?: boolean; forceSet?: boolean; strictMode?: boolean; defaultValue?: any; skipUndefined?: boolean; removeUndefined?: boolean; } export declare const objectValues: (obj: ObjectType) => any[]; export declare const deepMerge: (target: ObjectType | undefined, source: ObjectType, options?: deepOptions) => ObjectType; export declare function pathGenerator(raw: string): [string | number, string | undefined, string | undefined][]; interface DeepSetOptions { removeUndefined?: boolean; skipUndefined?: boolean; forceSet?: boolean; } export declare const deepSet: (target: ObjectType, path: string, value: any, options?: DeepSetOptions) => ObjectType; export declare const deepGet: (target: ObjectType, path: string, options?: deepOptions) => unknown; export declare const deepRemove: (target: ObjectType, path: string) => ObjectType; export declare const deepHas: (target: ObjectType, path: string) => boolean; export declare const entries: (obj: ObjectType) => any[][]; export declare const removeProps: (target: T, remove: K) => Omit; /** * 获取数据对象的全量key路径 * @param obj 数据对象 * @param parentKey 父级key * @returns 全量key路径 * @example * const obj = { a: { b: { c: 1 } } }; * const keys = getAllKeyPaths(obj); * console.log(keys); // ['a.b.c', 'a.b', 'a'] */ export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => string[]; /** * 获取完整的字段key * @param fields 字段key * @param allFields 所有字段key * @returns 完整的字段key * @example * const fields = ['user'] * const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age'] * const completeFields = getCompleteFieldKeys(fields, allFields) * console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age'] */ export declare const getCompleteFieldKeys: (fields: string | string[], allFields: string[]) => string[]; /** * 获取字段的所有父级key数组 * @param field 字段key * @description 获取字段的所有父级key数组,并去掉数组下标部分, 结果按从近及远排序 * @example a.b[0].c => ['a.b', 'a'] */ export declare const getParentKeys: (field: string) => string[]; /** * 将对象中的所有值设置为空, 如果值是数组,重置为空数组,如果是对象,重置为空对象,如果是基础类型,重置为undefined * @param obj 对象 * @returns 空对象 */ export declare const clearValue: (obj: ObjectType) => any; export {}; //# sourceMappingURL=object.d.ts.map