import { type DottedKeys } from './types'; type ObjectType = { [key: string]: any; }; type PickFromObject = K extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? T[Key] extends ObjectType ? { [P in Key]: PickFromObject; } : object : object : K extends keyof T ? { [P in K]: T[K]; } : object; type UnionToIntersection = (U extends any ? (k: U) => void : object) extends (k: infer I) => void ? I : object; /** * Returns a new object with the keys picked from the passed object * * @param {Record} obj - Object to pick from * @param {string[]} keys - Array of keys to pick from object */ declare function pick, K extends readonly DottedKeys[]>(obj: T, keys: K): UnionToIntersection>; export { pick, pick as default };