import IResolvablePromise from '../interfaces/IResolvablePromise'; export default class Resolvable implements IResolvablePromise, PromiseLike { id: number; isResolved: boolean; resolved: T; promise: Promise; readonly timeout: NodeJS.Timeout; readonly stack: string; private resolveFn; private rejectFn; constructor(timeoutMillis?: number, timeoutMessage?: string); resolve(value: T | PromiseLike): void; reject(error: Error, noUnhandledRejections?: boolean): void; toJSON(): object; then(onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; catch(onrejected?: (reason: any) => TResult | PromiseLike): Promise; finally(onfinally?: () => void): Promise; private clean; private rejectWithTimeout; }