export type MaybePromise = Promise | T; export type MaybePromiseLike = PromiseLike | T; export declare function isPromise(value: MaybePromise): value is Promise; export declare function isPromise(value: MaybePromiseLike): value is PromiseLike; export declare function isActualPromise(value: MaybePromiseLike): value is Promise; export declare function handleMaybePromise(inputFactory: () => MaybePromise, outputSuccessFactory: (value: TInput) => MaybePromise, outputErrorFactory?: (err: any) => MaybePromise, finallyFactory?: () => MaybePromise): MaybePromise; export declare function handleMaybePromise(inputFactory: () => MaybePromiseLike, outputSuccessFactory: (value: TInput) => MaybePromiseLike, outputErrorFactory?: (err: any) => MaybePromiseLike, finallyFactory?: () => MaybePromiseLike): MaybePromiseLike; export declare function fakePromise(value: MaybePromise): Promise; export declare function fakePromise(value: MaybePromiseLike): Promise; export declare function fakePromise(value: void): Promise; export interface DeferredPromise { promise: Promise; resolve: (value: T) => void; reject: (reason: any) => void; } export declare function createDeferredPromise(): DeferredPromise; export { iterateAsync as iterateAsyncVoid }; export declare function iterateAsync(iterable: Iterable, callback: (input: TInput, endEarly: () => void, index: number) => MaybePromise, results?: TOutput[]): MaybePromise; export declare function fakeRejectPromise(error: unknown): Promise; /** * @deprecated Use `handleMaybePromise` instead. */ export declare function mapMaybePromise(input: MaybePromise, onSuccess: (value: TInput) => MaybePromise, onError?: (err: any) => MaybePromise): MaybePromise; export declare function mapMaybePromise(input: MaybePromiseLike, onSuccess: (value: TInput) => MaybePromiseLike, onError?: (err: any) => MaybePromiseLike): MaybePromiseLike; /** * Given an AsyncIterable and a callback function, return an AsyncIterator * which produces values mapped via calling the callback function. */ export declare function mapAsyncIterator(iterator: AsyncIterable | AsyncIterator, onNext: (value: T) => MaybePromise, onError?: any, onEnd?: () => MaybePromise): AsyncIterableIterator; export declare function promiseLikeFinally(value: PromiseLike | Promise, onFinally: () => MaybePromiseLike): PromiseLike; export declare function unfakePromise(promise: Promise): MaybePromise;