| 1234567891011121314151617181920212223242526272829303132 | 
							- // @flow
 
- opaque type Next = Function | void;
 
- opaque type Yield = mixed;
 
- export type Gensync<Args, Return> = {
 
-   (...args: Args): Handler<Return>,
 
-   sync(...args: Args): Return,
 
-   async(...args: Args): Promise<Return>,
 
-   // ...args: [...Args, Callback]
 
-   errback(...args: any[]): void,
 
- };
 
- export type Handler<Return> = Generator<Yield, Return, Next>;
 
- export type Options<Args, Return> = {
 
-   sync(...args: Args): Return,
 
-   arity?: number,
 
-   name?: string,
 
- } & (
 
-   | { async?: (...args: Args) => Promise<Return> }
 
-   // ...args: [...Args, Callback]
 
-   | { errback(...args: any[]): void }
 
- );
 
- declare module.exports: {
 
-   <Args, Return>(
 
-     Options<Args, Return> | ((...args: Args) => Handler<Return>)
 
-   ): Gensync<Args, Return>,
 
-   all<Return>(Array<Handler<Return>>): Handler<Return[]>,
 
-   race<Return>(Array<Handler<Return>>): Handler<Return>,
 
- };
 
 
  |