declare module 'wu' { declare type DeepIterable = Iterable>; declare type Flat = $Call<(Iterable | U) => U, T>; declare type DeepFlat = $Call<(DeepIterable | U) => U, T>; declare export default class Wu { // Implicit implement `Iterable`. @@iterator(): Iterator; static (Iterable): Wu; static values(T): Wu<$Values>; tap(T => mixed): Wu; map(T => U): Wu; filter(): Wu<$NonMaybeType>; filter(T => boolean): Wu; flatten(): Wu>; flatten(true): Wu>; flatten(false): Wu>; find(T => boolean): T | void; pluck>(K): Wu<$ElementType>; some(): boolean; some(T => boolean): boolean; forEach(T => mixed): void; toArray(): T[]; } }