Spaces:
				
			
			
	
			
			
					
		Running
		
	
	
	
			
			
	
	
	
	
		
		
					
		Running
		
	| declare type PromiseState = 'pending' | 'fulfilled' | 'rejected'; | |
| declare type Executor<Value> = ConstructorParameters<typeof Promise<Value>>[0]; | |
| declare type ResolveFunction<Value> = Parameters<Executor<Value>>[0]; | |
| declare type RejectFunction<Reason> = Parameters<Executor<Reason>>[1]; | |
| declare type DeferredPromiseExecutor<Input = never, Output = Input> = { | |
| (resolve?: ResolveFunction<Input>, reject?: RejectFunction<any>): void; | |
| resolve: ResolveFunction<Input>; | |
| reject: RejectFunction<any>; | |
| result?: Output; | |
| state: PromiseState; | |
| rejectionReason?: unknown; | |
| }; | |
| declare function createDeferredExecutor<Input = never, Output = Input>(): DeferredPromiseExecutor<Input, Output>; | |
| declare class DeferredPromise<Input, Output = Input> extends Promise<Input> { | |
| #private; | |
| resolve: ResolveFunction<Output>; | |
| reject: RejectFunction<Output>; | |
| constructor(executor?: Executor<Input> | null); | |
| get state(): PromiseState; | |
| get rejectionReason(): unknown; | |
| then<ThenResult = Input, CatchResult = never>(onFulfilled?: (value: Input) => ThenResult | PromiseLike<ThenResult>, onRejected?: (reason: any) => CatchResult | PromiseLike<CatchResult>): DeferredPromise<ThenResult | CatchResult, Output>; | |
| catch<CatchResult = never>(onRejected?: (reason: any) => CatchResult | PromiseLike<CatchResult>): DeferredPromise<Input | CatchResult, Output>; | |
| finally(onfinally?: () => void | Promise<any>): DeferredPromise<Input, Output>; | |
| } | |
| export { DeferredPromise, DeferredPromiseExecutor, Executor, PromiseState, RejectFunction, ResolveFunction, createDeferredExecutor }; | |
