import type { ListOf } from '../internal/types/union.js'; export type Size = O extends { length: number; } ? O['length'] : O extends Map ? O['size'] : O extends Set ? O['size'] : string extends keyof O ? number : number extends keyof O ? number : symbol extends keyof O ? number : keyof O extends never ? 0 : ListOf['length']; /** * Returns the number of enumerable properties and methods of an object or the length of an array-like object. * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. * * @example * ```typescript * size({ a: 1, b: 2, c: 3 }); // => 3 * size({ length: 3 }); // => 3 * size(new Map([['a', 1], ['b', 2], ['c', 3]])); // => 3 * size(new Set([1, 2, 3, 4])); // => 4 * ``` */ declare const size: (o: O) => Size; export default size; //# sourceMappingURL=size.d.ts.map