/** * Object Utilities * Common object manipulation, iteration utilities, and object-related type guards */ /** * Check if value is an object (not null, not array) */ export declare function isObject(value: unknown): value is Record; /** * Check if value is a plain object (not null, not array, not Headers, not Date, etc.) */ export declare function isPlainObject(value: unknown): value is Record; /** * Check if value is an array */ export declare function isArray(value: unknown): value is T[]; /** * Check if value is null or undefined */ export declare function isNullish(value: unknown): value is null | undefined; /** * Check if value is not null or undefined */ export declare function isNotNullish(value: T | null | undefined): value is T; /** * Check if value is empty (null, undefined, empty string, empty array, empty object) */ export declare function isEmpty(value: unknown): boolean; /** * Check if array is not empty */ export declare function isNonEmptyArray(value: unknown): value is T[]; /** * Check if value has a specific property */ export declare function hasProperty(value: unknown, property: K): value is Record; /** * Get object keys with proper typing */ export declare function getKeys>(obj: T): (keyof T)[]; /** * Get object entries with proper typing */ export declare function getEntries>(obj: T): [keyof T, T[keyof T]][]; /** * Get object values with proper typing */ export declare function getValues>(obj: T): T[keyof T][]; /** * Check if object has no keys (is empty) */ export declare function isEmptyObject(obj: Record): boolean; /** * Check if object has any keys (is not empty) */ export declare function isNonEmptyObject(obj: Record): boolean; /** * Pick specific keys from an object */ export declare function pick(obj: T, keys: K[]): Pick; /** * Omit specific keys from an object */ export declare function omit(obj: T, keys: K[]): Omit; /** * Filter object entries by predicate */ export declare function filterObject>(obj: T, predicate: (key: keyof T, value: T[keyof T]) => boolean): Partial; /** * Map object values while keeping keys */ export declare function mapObject, R>(obj: T, mapper: (value: T[keyof T], key: keyof T) => R): Record; /** * Transform object keys */ export declare function mapKeys>(obj: T, mapper: (key: keyof T) => string): Record; /** * Group array of objects by a key */ export declare function groupBy(array: T[], key: K): Record; /** * Create object from array using key and value selectors */ export declare function keyBy(array: T[], keySelector: (item: T) => string, valueSelector?: (item: T) => unknown): Record; /** * Flatten nested object into dot notation */ export declare function flattenObject(obj: Record, prefix?: string): Record; /** * Remove undefined values from object */ export declare function removeUndefined>(obj: T): T; /** * Remove null and undefined values from object */ export declare function removeNullish>(obj: T): T; /** * Remove empty values (null, undefined, empty string, empty array, empty object) */ export declare function removeEmpty>(obj: T): T; //# sourceMappingURL=object.d.ts.map