/** * 深度比较两个值是否等价。 * * @remarks 原始值使用 SameValueZero 语义;支持循环引用、数组、对象、ArrayBuffer、DataView、Date、Error、Map、RegExp、Set、Symbol 和 TypedArray。 * 对象只比较自有可枚举字符串与 Symbol 属性,函数及其他不支持的宿主对象仅在引用相同时相等。 * @param left - 第一待比较值 * @param right - 第二待比较值 * @returns 两个值深度等价时返回 `true`。 */ export declare function isEqual(left: unknown, right: unknown): boolean; /** * 从对象中选择指定自有可枚举属性。 * * @remarks 固定键元组保留精确返回类型;动态数组中可能被选择或排除的键在返回类型中保持可选。 * @param source - 不会被修改的源对象 * @param keys - 需要保留的键;不存在的键被忽略。 * @returns 新对象,保持 `keys` 的遍历顺序。 */ export declare function pick(source: Source, keys: Keys): number extends Keys["length"] ? Partial> : Pick; export declare function pick(source: Source, keys: readonly PropertyKey[]): Partial; /** * 浅复制对象并删除指定属性。 * * @remarks 固定键元组保留精确返回类型;动态数组中可能被选择或排除的键在返回类型中保持可选。 * @param source - 不会被修改的源对象 * @param keys - 需要排除的键 * @returns 包含其余自有可枚举字符串与 Symbol 属性的新对象 */ export declare function omit(source: Source, keys: Keys): number extends Keys["length"] ? Omit & Partial> : Omit; export declare function omit(source: Source, keys: readonly PropertyKey[]): Partial;