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