import Immutable from "immutable"; /** HonKit historically used `q`; this module keeps the same surface on top of native Promises. */ export type ExtendedPromise = Promise & { thenResolve(value: U): ExtendedPromise; spread(fn: (...args: any[]) => any): ExtendedPromise; fail(onRejected: (reason: unknown) => unknown): ExtendedPromise; get?(index: number): ExtendedPromise; tap(onFulfilled: (value: T) => unknown): ExtendedPromise; progress(onProgress: (data: unknown) => void): ExtendedPromise; nodeify(callback?: (err: unknown, result?: T) => void): ExtendedPromise | void; /** Q `fin` — like `finally`; preserves fulfillment value or rejection reason. */ fin(onFinally: () => unknown): ExtendedPromise; }; declare function reduce(arr: Immutable.List | unknown[] | Immutable.Iterable, iter: (acc: TAcc, elem: TElem, key: unknown) => unknown, base?: TAcc): ExtendedPromise; declare function forEach(arr: Immutable.List | unknown[] | Immutable.Iterable, iter: (el: T, key: unknown) => unknown): ExtendedPromise; declare function serie(arr: Immutable.List | unknown[] | Immutable.Iterable, iter: (item: T, key: unknown) => unknown): ExtendedPromise; declare function some(arr: Immutable.List | unknown[] | Immutable.Iterable, iter: (el: T, i: unknown) => unknown): Promise; declare function map(arr: Immutable.Map | Immutable.OrderedMap | Immutable.List | unknown[] | Immutable.Iterable, iter: (el: T, key: unknown) => unknown): Promise> | Promise>; declare function wrap(func: (...args: unknown[]) => unknown): (this: unknown, ...args: unknown[]) => Promise; declare const _default: any; export default _default; export { forEach, reduce, map, serie, some, wrap }; //# sourceMappingURL=promise.d.ts.map