/** @license MIT License (c) copyright 2010-2016 original author or authors */
export declare const id: (x: A) => A;
export declare const compose: (f: (b: B) => C, g: (a: A) => B) => (x: A) => C;
export declare const apply: (f: (a: A) => B, x: A) => B;
export interface Curried2 {
(): Curried2;
(a: A, b: B): C;
(a: A): (b: B) => C;
}
export declare function curry2(f: (a: A, b: B) => C): Curried2;
export interface Curried3 {
(): Curried3;
(a: A): Curried2;
(a: A, b: B): (c: C) => D;
(a: A, b: B, c: C): D;
}
export declare function curry3(f: (a: A, b: B, c: C) => D): Curried3;
export interface Curried4 {
(): Curried4;
(a: A): Curried3;
(a: A, b: B): Curried2;
(a: A, b: B, c: C): (d: D) => E;
(a: A, b: B, c: C, d: D): E;
}
export declare function curry4(f: (a: A, b: B, c: C, d: D) => E): Curried4;