export default class CallablePromise { private promise; resolve_: (value: T) => void; reject_: (reason?: any) => void; constructor(); resolve(value: T): CallablePromise; reject(reason?: any): CallablePromise; then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; }