import type { OmitStrict } from './types.js'; /** * Returns a boolean indicating if `value` is * a plain object, possibly created with `Object.create(null)`. * But warning! This fails for some obscure corner cases, use a proper library for weird things. */ export declare const is_plain_object: (value: any) => boolean; /** * Iterated keys in `for..in` are always returned as strings, * so to prevent usage errors the key type of `mapper` is always a string. * Symbols are not enumerable as keys, so they're excluded. */ export declare const map_record: (obj: Record, mapper: (value: T, key: string) => U) => Record; /** * Creates a new object without the specified `keys`. */ export declare const omit: , K extends keyof T>(obj: T, keys: Array) => OmitStrict; /** * Creates a new object with properties that pass the `should_pick` predicate. */ export declare const pick_by: , K extends string | number>(obj: T, should_pick: (value: any, key: K) => boolean) => Partial; /** * A commonly used form of `pick_by`. * * @returns `obj` with all `undefined` properties removed * * @see {@link https://github.com/Microsoft/TypeScript/issues/13195} */ export declare const omit_undefined: >(obj: T) => T; /** * A more explicit form of `{put_this_first: obj.put_this_first, ...obj}`. */ export declare const reorder: , K extends string | number>(obj: T, keys: Array) => T; /** * Frozen empty object with no properties, good for options default values. */ export declare const EMPTY_OBJECT: Record & object; /** * Performs a depth-first traversal of an object's enumerable properties, * calling `cb` for every key and value with the current `obj` context. * @param cb - receives the key, value, and `obj` for every enumerable property on `obj` and its descendents */ export declare const traverse: (obj: any, cb: (key: string, value: any, obj: any) => void) => void; export declare const transform_empty_object_to_undefined: (obj: T) => T | undefined; //# sourceMappingURL=object.d.ts.map