/** * Removes all properties with undefined values from an object. * This utility function creates a new object containing only the properties * that have defined values, effectively filtering out any undefined properties. * * @example * ```typescript * const input = { * name: 'John', * age: undefined, * email: 'john@example.com', * phone: undefined * } * * const result = stripUndefinedValuesFromObject(input) * // Result: { name: 'John', email: 'john@example.com' } * ``` * * @example * ```typescript * // Useful for cleaning up optional parameters before API calls * const apiParams = stripUndefinedValuesFromObject({ * userId: user.id, * filter: searchFilter || undefined, * limit: pageSize || undefined, * offset: currentPage ? currentPage * pageSize : undefined * }) * ``` * * @template T - The type of the input object, must extend Record * @param {T} obj - The object to filter, removing properties with undefined values * @returns {T} A new object of the same type with undefined properties removed */ export declare const stripUndefinedValuesFromObject: >(obj: T) => T;