/** * Importing npm packages */ /** * Importing user defined packages */ /** * Defining types */ export type PropertyFilter = (key: string | T, desc: PropertyDescriptor) => boolean; declare class ObjectUtils { /** * Checks if the given object is a plain object. * A plain object is an object created by the Object constructor or one with a null prototype. */ isPlainObject(obj: any): boolean; /** * Checks if the given object is a class. * A class is a function that starts with the keyword 'class'. */ isClass(Class: any): boolean; /** * Returns the value of the given path in the object */ getByPath(obj: Record, path: string): T | undefined; /** * Returns a new object with the needed fields. */ pickKeys(obj: T, keys: K[]): Pick; /** * Return a new object after removing the unneeded keys from the orginal object. */ omitKeys(obj: T, keys: K[]): Omit; /** * Returns the object after recursively freezing all the properties. */ deepFreeze(obj: T): Readonly; getAllPropertyNames(target: any, filter?: PropertyFilter): string[]; getAllPropertyDescriptors(target: object, filter?: PropertyFilter): Record; } export declare const objectUtils: ObjectUtils; export {};