import type * as P from "@principia/prelude"; import type { Monoid } from "@principia/prelude/Monoid"; import type { URI, V } from "./model"; /** * ```haskell * reduceWithIndex_ :: (FoldableWithIndex t, Index k) => * (t a, b, ((k, b, a) -> b)) -> b * ``` * * @category FoldableWithIndex * @since 1.0.0 */ export declare const reduceWithIndex_: (fa: readonly A[], b: B, f: (i: number, b: B, a: A) => B) => B; /** * ```haskell * reduceWithIndex :: (FoldableWithIndex t, Index k) => * (b, ((k, b, a) -> b)) -> t a -> b * ``` * * @category FoldableWithIndex * @since 1.0.0 */ export declare const reduceWithIndex: (b: B, f: (i: number, b: B, a: A) => B) => (fa: readonly A[]) => B; /** * ```haskell * reduce_ :: Foldable t => (t a, b, ((b, a) -> b)) -> b * ``` * * @category Foldable * @since 1.0.0 */ export declare const reduce_: (fa: readonly A[], b: B, f: (b: B, a: A) => B) => B; /** * ```haskell * reduce :: Foldable t => (b, ((b, a) -> b)) -> t a -> b * ``` * * @category Foldable * @since 1.0.0 */ export declare const reduce: (b: B, f: (b: B, a: A) => B) => (fa: readonly A[]) => B; /** * ```haskell * reduceRightWithIndex_ :: (FoldableWithIndex t, Index k) => * (t a, b, ((k, a, b) -> b)) -> b * ``` * * @category FoldableWithIndex * @since 1.0.0 */ export declare const reduceRightWithIndex_: (fa: readonly A[], b: B, f: (i: number, a: A, b: B) => B) => B; /** * ```haskell * reduceRightWithIndex :: (FoldableWithIndex t, Index k) => * (b, ((k, a, b) -> b)) -> t a -> b * ``` * * @category FoldableWithIndex * @since 1.0.0 */ export declare const reduceRightWithIndex: (b: B, f: (i: number, a: A, b: B) => B) => (fa: readonly A[]) => B; /** * ```haskell * reduceRight_ :: Foldable t => (t a, b, ((a, b) -> b)) -> b * ``` * * @category Foldable * @since 1.0.0 */ export declare const reduceRight_: (fa: readonly A[], b: B, f: (a: A, b: B) => B) => B; /** * ```haskell * reduceRight :: Foldable t => (b, ((a, b) -> b)) -> t a -> b * ``` * * @category Foldable * @since 1.0.0 */ export declare const reduceRight: (b: B, f: (a: A, b: B) => B) => (fa: readonly A[]) => B; /** * ```haskell * foldMapWithIndex_ :: (Monoid m, FoldableWithIndex f, Index k) => * m b -> (f a, ((k, a) -> b) -> b * ``` * * @category FoldableWithIndex * @since 1.0.0 */ export declare const foldMapWithIndex_: (M: P.Monoid) => (fa: readonly A[], f: (i: number, a: A) => M) => M; /** * ```haskell * foldMapWithIndex :: (Monoid m, FoldableWithIndex f, Index k) => * m b -> ((k, a) -> b) -> f a -> b * ``` * * @category FoldableWithIndex * @since 1.0.0 */ export declare const foldMapWithIndex: (M: P.Monoid) => (f: (i: number, a: A) => M) => (fa: readonly A[]) => M; /** * ```haskell * foldMap_ :: (Monoid m, Foldable f) => * m b -> (f a, (a -> b)) -> b * ``` * * @category Foldable * @since 1.0.0 */ export declare const foldMap_: (M: P.Monoid) => (fa: readonly A[], f: (a: A) => M) => M; /** * ```haskell * foldMap :: (Monoid m, Foldable f) => m b -> (a -> b) -> f a -> b * ``` * * @category Foldable * @since 1.0.0 */ export declare const foldMap: (M: P.Monoid) => (f: (a: A) => M) => (fa: readonly A[]) => M; export declare const FoldableWithIndex: P.FoldableWithIndex<[URI], V>; export declare const Foldable: P.Foldable<[URI], V>; //# sourceMappingURL=foldable.d.ts.map