/** @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;