import type { Applicative } from './Applicative'; import type { Functor2, FunctorMin } from './Functor'; import { Functor } from './Functor'; import * as HKT from './HKT'; export interface Traversable extends Functor { readonly traverse_: TraverseFn_; readonly traverse: TraverseFn; readonly sequence: SequenceFn; } export declare type TraversableMin = FunctorMin & { readonly traverse_: TraverseFn_; }; export declare function Traversable(F: TraversableMin): Traversable; export interface TraversableComposition extends Functor2 { readonly traverse_: TraverseFnComposition_; readonly traverse: TraverseFnComposition; readonly sequence: SequenceFnComposition; } export declare function getTraversableComposition(F: Traversable, G: Traversable): TraversableComposition; export interface TraverseFn { (A: Applicative): (f: (a: A) => HKT.Kind) => (ta: HKT.Kind) => HKT.Kind>; } export interface TraverseFn_ { (A: Applicative): (ta: HKT.Kind, f: (a: A) => HKT.Kind) => HKT.Kind>; } export interface TraverseFnComposition { (A: Applicative): (f: (a: A) => HKT.Kind) => (fga: HKT.Kind>) => HKT.Kind>>; } export interface TraverseFnComposition_ { (A: Applicative): (fga: HKT.Kind>, f: (a: A) => HKT.Kind) => HKT.Kind>>; } export declare function implementTraverse_(): (i: (_: { A: A; B: B; G: G; N: N; K: K; Q: Q; W: W; X: X; I: I; S: S; R: R; E: E; }) => (G: Applicative>) => (ta: HKT.Kind, f: (a: A) => HKT.HKT) => HKT.HKT>) => TraverseFn_; export declare function implementTraverse(): (i: (_: { A: A; B: B; G: G; N: N; K: K; Q: Q; W: W; X: X; I: I; S: S; R: R; E: E; }) => (G: Applicative>) => (f: (a: A) => HKT.HKT) => (ta: HKT.Kind) => HKT.HKT>) => TraverseFn; export interface SequenceFn { (A: Applicative): (ta: HKT.Kind>) => HKT.Kind>; } export interface SequenceFnComposition { (A: Applicative): (fgha: HKT.Kind>>) => HKT.Kind>>; } export declare function implementSequence(): (i: (_: { A: A; B: B; G: G; N: N; K: K; Q: Q; W: W; X: X; I: I; S: S; R: R; E: E; }) => (G: Applicative>) => (ta: HKT.Kind>) => HKT.HKT>) => SequenceFn; //# sourceMappingURL=Traversable.d.ts.map