/** * @since 0.1.15 */ import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/lib/HKT' import { Applicative, Applicative1, Applicative2, Applicative3, Applicative4, Applicative2C } from 'fp-ts/lib/Applicative' /** * This generalizes the array-based `filter` function. * * @example * import { io, IO } from 'fp-ts/IO' * import { filterA } from 'fp-ts-contrib/filterA' * * const filterAIO = filterA(io) * * const p = (n: number): IO => io.of(n % 2 === 0) * * assert.deepStrictEqual(filterAIO(p)([1, 2, 3, 4, 5])(), [2, 4]) * * @since 0.1.15 */ export declare function filterA( F: Applicative4 ): (p: (a: A) => Kind4) => (as: Array) => Kind4> export declare function filterA( F: Applicative3 ): (p: (a: A) => Kind3) => (as: Array) => Kind3> export declare function filterA( F: Applicative2 ): (p: (a: A) => Kind2) => (as: Array) => Kind2> export declare function filterA( F: Applicative2C ): (p: (a: A) => Kind2) => (as: Array) => Kind2> export declare function filterA( F: Applicative1 ): (p: (a: A) => Kind) => (as: Array) => Kind> export declare function filterA( F: Applicative ): (p: (a: A) => HKT) => (as: Array) => HKT>