type Take = Exclude ? U | Exclude : T, A extends true ? undefined : never>; declare namespace Take { interface Options { name?: string; assert?: A; strategy?: Strategy; } type Strategy = 'one' | 'first' | 'maybe'; } declare function take(data: T, options?: Take.Options): Take; export { Take, take };