import type { Observable, ObservableInput } from 'rxjs'; /** * Filter the input array using the given asynchronous filter function * @kind Creator * @since 1.4.0 * @param input The input array * @param filterer The filtering function * @param emitIntermediate When false (default), uses forkJoin to emit the output and therefore emits only once; * When true, uses combineLatest and potentially emits more than once. * @param thisArg thisArg to pass to Array.prototype.map * @return An observable of filtered values * @see https://rxjs.dev/api/index/function/combineLatest * @see https://rxjs.dev/api/index/function/forkJoin * @example * import {of} from 'rxjs'; * import {switchMap} from 'rxjs/operators'; * import {asyncFilter} from '@aloreljs/rxutils'; * * of([1, 2, 3, 4, 5]) * .pipe( * switchMap(arr => asyncFilter(arr, v => v >= 3)) * ) * .subscribe(); // outputs [3, 4, 5] */ export declare function asyncFilter(input: I[], filterer: (value: I, index: number, array: I[]) => ObservableInput, emitIntermediate?: boolean, // eslint-disable-line default-param-last thisArg?: any): Observable;