import { $, HKT } from '.'; import { Functor } from './functor'; import { ApplicativeInstances } from './applicative'; export interface Traversable extends Functor { traverse(f: (a: A) => $, ta: $): $>; } export declare type TraversableInstances = keyof typeof Traversable; export declare class TraversableArray { traverse(name: F): (f: (a: A, index?: number) => $, ta: A[]) => $; } export declare namespace Traversable { let Array: TraversableArray; }