/**
 * Future extends Promise and exposes the resolve and reject methods.
 */
export declare type Future<T> = Promise<T> & {
    resolve: (val: T) => void;
    reject: (err: Error) => void;
};
/**
 * Creates a new Future instance by extending a new Promise instance.
 */
export declare function createFuture<T>(): Future<T>;
