interface DeferredPromise { promise: LazyPromise; resolve: (value: any) => {}; reject: (value: any) => {}; } interface JSObject { [key: string]: any; } export default class LazyPromise extends Promise { #private; static from(function_: any): LazyPromise; static resolve(value: any): LazyPromise; static reject(error: any): LazyPromise; static defer(): DeferredPromise; static hash(object: JSObject): Promise; isStarted: boolean; isLoading: boolean; isLoaded: boolean; isError: boolean; isAborted: boolean; constructor(executor: (resolve: any, reject: any) => void); abort(message?: string): Promise; then(onFulfilled?: any, onRejected?: () => void): this | Promise; catch(onRejected: any): this; debug(callback: (any: any) => any): this | Promise; reload(): this | Promise; } export {};