declare type resolver = (x?: any) => any; export interface Thenable { then(resolve: resolver, reject?: resolver): Thenable; catch(reject: resolver): Thenable; } export declare function toThenable(val: IteratorResult | Thenable | any): Thenable; export declare function toPromise(val: Generator | Thenable | T): Promise; export declare function toValue(val: Generator | Thenable | T): T; export {};