import { Arity1, Arity10, Arity2, Arity3, Arity4, Arity5, Arity6, Arity7, Arity8, Arity9, Curry10, Curry2, Curry3, Curry4, Curry5, Curry6, Curry7, Curry8, Curry9 } from '../types';
/**
* Given a function it returns a curried version of that function.
* @name curry(fn: Fuction): CurriedFunction
*/
export declare const curry: CurryFn;
export declare type CurryFn = {
(f: () => A): () => A;
(f: Arity1): Arity1;
(f: Arity2): Curry2;
(f: Arity3): Curry3;
(f: Arity4): Curry4;
(f: Arity5): Curry5;
(f: Arity6): Curry6;
(f: Arity7): Curry7;
(f: Arity8): Curry8;
(f: Arity9): Curry9;
(f: Arity10): Curry10;
};