import { Either } from '@typed/either';
import { List } from '@typed/list';
import { Maybe } from '@typed/maybe';
/**
* Map over the value contained in a data structure.
* Works for `List`, `Maybe`, `Either`, and `PromiseLike` data strctures.
* @name map(f: (value: A, index: number) => B, list: List): Array
*/
export declare const map: Map;
export declare type Map = {
(f: (value: A, index: number) => B, list: List): Array;
(f: (value: A) => B, maybe: Maybe): Maybe;
(f: (value: A) => B, promise: PromiseLike): Promise;
(f: (value: B) => C, either: Either): Either;
(f: (value: A, index: number) => B): MapArity1;
};
export declare type MapArity1 = {
(list: List): Array;
(maybe: Maybe): Maybe;
(promise: Promise): Promise;
(either: Either): Either;
};