export interface Asap<T> {
catch(error: IConsumer<Error>): this;
then(consumer: IConsumer<T>): this;
onCancel(consumer: ICallback): this;
map<Z>(mapper: IFunction<T, Z>): Asap<Z>;
chain<Z>(chainProducer: IFunction<T, Asap<Z>>): Asap<Z>;
type: AsapType;
cancel(): boolean;
}