import { IteratorStepOptions } from "./Iterate"; import { ObjectLike } from "./ObjectTypes"; /** * `Obj` is a utility class for working with objects */ export declare function Obj>(obj: T): { entries: (stepOptions?: IteratorStepOptions) => import("./Iterate").ObjectEntriesIterator; keys: (stepOptions?: IteratorStepOptions) => import("./Iterate").ObjectKeysIterator; values: (stepOptions?: IteratorStepOptions) => import("./Iterate").ObjectValuesIterator; reduce: (init: R, reducer: (acc: R, key: keyof T, value: T[keyof T]) => R) => R; reduceObj: (reducer: (acc: R_1, key: keyof T, value: T[keyof T]) => R_1) => R_1; map: (mapper: (k: keyof T, value: T[keyof T]) => R_2) => R_2[]; assignProp: >(overrides: D) => T & D; hasKey: (k: string) => boolean; keyOf: (k: string) => keyof T | undefined; key: (k: string) => keyof T; freeze: () => Readonly; clone: , O extends Partial>(defaults?: D_1 | undefined, override?: O | undefined) => T; shallowClone: , O_1 extends Partial>(defaults?: D_2 | undefined, override?: O_1 | undefined) => T; writableClone: , O_2 extends Partial>(defaults?: D_3 | undefined, override?: O_2 | undefined) => import("./ObjectTypes").AsWriteable; readonlyClone: , O_3 extends Partial>(defaults?: D_4 | undefined, override?: O_3 | undefined) => Readonly; imutableClone: , O_4 extends Partial>(defaults?: D_5 | undefined, override?: O_4 | undefined) => Readonly; defaults: >(defaults: D_6) => T; override: >(overrides: D_7) => T; }; export default Obj;