//#region src/create-deferred-executor.d.ts type PromiseState = 'pending' | 'fulfilled' | 'rejected'; type Executor = ConstructorParameters>[0]; type ResolveFunction = Parameters>[0]; type RejectFunction = Parameters>[1]; type DeferredPromiseExecutor = { (resolve?: ResolveFunction, reject?: RejectFunction): void; resolve: ResolveFunction; reject: RejectFunction; result?: Output; state: PromiseState; rejectionReason?: unknown; }; declare function createDeferredExecutor(): DeferredPromiseExecutor; //#endregion //#region src/deferred-promise.d.ts declare class DeferredPromise extends Promise { #private; resolve: ResolveFunction; reject: RejectFunction; constructor(executor?: Executor | null); get state(): PromiseState; get rejectionReason(): unknown; then(onFulfilled?: (value: Input) => ThenResult | PromiseLike, onRejected?: (reason: any) => CatchResult | PromiseLike): DeferredPromise; catch(onRejected?: (reason: any) => CatchResult | PromiseLike): DeferredPromise; finally(onfinally?: () => void | Promise): DeferredPromise; } //#endregion export { DeferredPromise, type DeferredPromiseExecutor, type Executor, type PromiseState, type RejectFunction, type ResolveFunction, createDeferredExecutor }; //# sourceMappingURL=index.d.mts.map