import { Kind } from '@fp4ts/core'; import { Apply } from './apply'; import { ComposedApplicative } from './composed'; import { Foldable } from './foldable'; import { FoldableWithIndex } from './foldable-with-index'; import { ArrayF } from './instances/array'; /** * @category Type Class */ export interface Applicative extends Apply { readonly pure: (a: A) => Kind; readonly unit: Kind; readonly tupled: (...fsa: { [k in keyof A]: Kind; }) => Kind; traverseA(G: Foldable): (f: (a: A) => Kind) => (ta: Kind) => Kind; traverseA_(G: Foldable): (ta: Kind, f: (a: A) => Kind) => Kind; traverseWithIndexA(G: FoldableWithIndex): (f: (a: A, i: I) => Kind) => (ta: Kind) => Kind; traverseWithIndexA_(G: FoldableWithIndex): (ta: Kind, f: (a: A, i: I) => Kind) => Kind; } export type ApplicativeRequirements = Pick, 'pure' | 'ap_'> & Partial>; export declare const Applicative: Readonly<{ of: (F: ApplicativeRequirements) => Applicative; compose: (F: Applicative, G: Applicative) => ComposedApplicative; readonly Array: Applicative; }>; //# sourceMappingURL=applicative.d.ts.map