export declare class Task<Finish = void, Cancel = void> {
    done: boolean;
    promise: Promise<any>;
    cancel: (error: Cancel) => Cancel;
    finish: (result: Finish) => Finish;
    constructor();
    static createTask<Finish = void, Cancel = void>(): Task<Finish, Cancel>;
    static createDoneTask(): Task<any, any>;
}
