/** * Counts the number of elements in an array or the number of properties in an object. * * @param {Array<*>|Record} obj - The array or object to count. * @returns {number} - The count of items (array elements or object keys). * @throws {TypeError} If the input is neither an array nor a pure object. * * @example * countObj([1, 2, 3]); // 3 * countObj({ a: 1, b: 2 }); // 2 * countObj('not an object'); // Throws TypeError */ export declare function countObj(obj: Array | Record): number; /** * Determines whether a given value is a pure JSON object (plain object). * * A pure object satisfies the following: * - It is not null. * - Its type is "object". * - Its internal [[Class]] is "[object Object]". * - It is not an instance of built-in types like Array, Date, Map, Set, etc. * * This function is useful for strict data validation when you want to ensure * a value is a clean JSON-compatible object, free of class instances or special types. * * @param {unknown} value - The value to test. * @returns {value is Record} Returns true if the value is a pure object. */ export declare function isJsonObject(value: unknown): value is Record; /** * Determines whether a given value is a JSON object. * * A pure object satisfies the following: * - It is not null. * - Its type is "object". * - It is not an Array instance. * * @param {unknown} value - The value to test. * @returns {value is Object} Returns true if the value is a object. */ export declare function isValidObj(value: unknown): value is any; /** * Determines whether the provided value is a class constructor. * * @reference https://stackoverflow.com/a/30760236 * * @param {unknown} target - The value to be inspected. * @returns {boolean} True if the value is a class constructor, false otherwise. * @throws {TypeError} If the provided target is not a function. */ export declare const isClass: (target: unknown) => boolean; /** * Determines whether a given value is an instance of a custom ES6 class. * * @param {unknown} value - The value to inspect. * @returns {boolean} True if the value is an instance of an ES6 class, false otherwise. */ export declare function isClassInstance(value: unknown): boolean; /** * Determines whether a given value is an instance of any class (custom or native). * Returns true for instances like Map, Set, URL, Date, Array, and custom ES6 classes. * Returns false for primitives, plain objects ({}), and null-prototype objects. * * @param {unknown} value - The value to inspect. * @returns {boolean} True if the value is a class instance, false otherwise. */ export declare function isAnyClassInstance(value: unknown): boolean; //# sourceMappingURL=objChecker.d.mts.map