import { ExtractObjectKeys, ExtractObjectValues, ExtractObjectEntries } from '../../types/utils'; /** * Utility class for working with objects. * * Provides **static** methods for retrieving keys and values of an object with addition of types. * * This class enhances type safety by providing better typings for object keys and values. */ export declare class TypedObject { /** * Returns the names of the enumerable string properties and methods of an object. * * Type parameters: * * - `TObject` (`Record`) - The object to get the object keys types from. * * @param {TObject} obj Object to get the keys from. * * @returns {Array>} * Array of names of the enumerable string properties and methods of the specified object. */ static keys>(obj: TObject): ExtractObjectKeys[]; /** * Returns an array of values of the enumerable properties of an object. * * Type parameters: * * - `TObject` (`Record`) - The object to get the object values types from. * * @param {TObject} obj Object to get the values from. * * @returns {Array>} * Array of values of the enumerable properties of the specified object. */ static values>(obj: TObject): ExtractObjectValues[]; /** * Returns an array of entries (key-value pairs) of the enumerable properties of an object. * * Type parameters: * * - `TObject` (`Record`) - The object to get the object entries types (key-value pairs types) from. * * @param {TObject} obj Object to get the entries from. * * @returns {ExtractObjectEntries[]} * Array of entries (key-value pairs) of the enumerable properties of the specified object. */ static entries>(obj: TObject): ExtractObjectEntries[]; }