/** * Creates a new object with only the specified properties from the source object. * * @template T - Type of the source object. * @template K - Type of the keys to extract (subset of T's keys). * @param {T} object - The source object to extract properties from. * @param {...K[]} keys - The property keys to extract. * @returns {Pick} A new object containing only the specified properties. * * @remarks * **Prototype pollution warning:** This function does not filter out * prototype-polluting keys (`__proto__`, `constructor`, `prototype`). * If processing user-controlled input, sanitize with the appropriate * `removePrototype*` helper before calling this function: * - `removePrototype` — shallow sanitization of a single object * - `removePrototypeDeep` — recursive sanitization of a single object (for deeply nested data) * - `removePrototypeMap` — shallow sanitization of an array of objects * - `removePrototypeMapDeep` — recursive sanitization of an array of objects (for deeply nested data) * * @example * ```typescript * const user = { id: 1, name: 'Alice', age: 30 }; * const selected = pick(user, 'id', 'name'); // { id: 1, name: 'Alice' } * ``` */ export declare const pick: (object: T, ...keys: K[]) => Pick;