export interface IPromise { promise: Promise; resolve(value: T): void; reject(reason?: string): void; } export declare class ControllablePromise implements IPromise { private _resolve; private _reject; private _promise; constructor(); get promise(): Promise; resolve(value: T): void; reject(reason?: string): void; } export declare class ResolvedPromise implements IPromise { private _value; constructor(value: T); get promise(): Promise>; resolve(_: T): void; reject(_?: string): void; }