type ConvertUndefined = OrUndefined<{ [K in keyof T as undefined extends T[K] ? K : never]-?: T[K]; }>; type OrUndefined = { [K in keyof T]: T[K] | undefined; }; type PickRequired = { [K in keyof T as undefined extends T[K] ? never : K]: T[K]; }; type ConvertPick = ConvertUndefined & PickRequired; export declare const pick: (obj: Obj, keys: Keys[], /** Whether to filter out explicit `undefined` values */ filterUndefined?: boolean) => ConvertPick<{ [K in Keys]: Obj[K]; }>; export {}; //# sourceMappingURL=pick.d.ts.map