import { dequal as dequalLite } from "dequal/lite"; interface ForEachPrimitiveValueArgs { target: Record | unknown[] | null; fn: (value: unknown, key: string, newTarget: Record) => void; valueConversionFunction?: (transformValue: Record | unknown[]) => Record | unknown[]; } /** There's probably a bug somewhere here since it assumes target is initially an object */ export declare function forEachPrimitiveValue({ target, fn, valueConversionFunction, }: ForEachPrimitiveValueArgs): void; export declare function shallowEqual(objA: unknown, objB: unknown): boolean; /** * Internally we use `dequal` for deep equality checks. It benchmarks faster * than lodash and most other libraries. * * This function is an alias for `dequal`'s "lite" module. It does not check * equality for `Map` or `Set` values. If you need to compare those, use * `deepEqualHeavy`. * * @see https://github.com/lukeed/dequal#modes */ export declare const deepEqual: typeof dequalLite; /** * Creates a new object with specified keys omitted. * * @param obj - The source object * @param keysToOmit - Array of keys to omit from the result * @returns A new object without the specified keys */ export declare function omit, KeyType extends keyof ObjectType>(obj: ObjectType, keysToOmit: KeyType[]): Omit; /** * `ObjectType` with every key that can hold `undefined` made optional and * `undefined` removed from its value type. Keys that can't be `undefined` * stay required. */ export type WithoutUndefined = { [Key in keyof ObjectType as undefined extends ObjectType[Key] ? never : Key]: ObjectType[Key]; } & { [Key in keyof ObjectType as undefined extends ObjectType[Key] ? Key : never]?: Exclude; }; /** * Copies `data` without its `undefined`-valued own keys. A plain loop rather * than lodash `pickBy`: this ships in the published SDK, and `pickBy` drags in * lodash's iteratee-shorthand machinery (~6 KB gzipped) for a one-line check. */ export declare function filterUndefined>(data: ObjectType): WithoutUndefined; export declare function toNullableIfDefined(value: ValueType | undefined): ValueType | null | undefined; export {};