/** Progress options needed for `nAtATime`. Other options will be inferred. */ interface ProgressOptions { readonly name: string; flavor(input: T, output: U): string | undefined; } export declare function nAtATime(n: number, inputs: readonly T[], use: (t: T) => Awaitable, progressOptions?: ProgressOptions): Promise; export declare function filter(iterable: Iterable, predicate: (value: T) => boolean): IterableIterator; export type Awaitable = T | Promise; export declare function filterNAtATimeOrdered(n: number, inputs: readonly T[], shouldKeep: (input: T) => Awaitable, progress?: ProgressOptions): Promise; export declare function logUncaughtErrors(promise: Promise | (() => Promise)): Promise; export declare function retry(fn: () => Awaitable, count: number, delaySeconds: number): Promise; export {};