export declare function difference(origObj: any, newObj: any): any; export declare const removeEmpty: (obj: any) => any; export declare const removeFunctions: (obj: any) => any; export declare const stripObjectForFirebase: (obj: any) => any; export declare const recursiveCheckObject: (object: any, keys: string) => any | undefined; /** * Updates value of object by checking recursivly. * @param allValues - Full value object * @param newValue - New value to update * @param propsToCheck - Full key string associated to value to update, with nested keys seperated by dots (.). If the value to update is nested in an array, use square brackets with index between (ex. first_key.second_key[2].third_key) * @returns updated object */ export declare const recursiveSetObject: (allValues: any, newValue: any, propsToCheck: string) => any; /** * Type to consider normally immutable objet as a mutable copy */ export type Writeable = { -readonly [K in keyof T]: T[K] extends Array ? Writeable>> : Writeable; }; /** * Get enum key string from enum value * @param myEnum * @param enumValue */ export declare function getEnumKeyByEnumValue(myEnum: { [key in TEnumKey]: TEnumVal; }, enumValue: TEnumVal): string; /** * Creates a distinct copy of a given object. Always returns same type as generic type received * @param scheduleObj */ export declare const copyObject: (scheduleObj: T) => T;