import * as t from '../types' export type CurryNFn = { (arity: 0, f: t.Arity0): () => A (arity: 1, f: t.Arity1N): t.Arity1 (arity: 2, f: t.Arity2N): t.Curry2 (arity: 3, f: t.Arity3N): t.Curry3 (arity: 4, f: t.Arity4N): t.Curry4 (arity: 5, f: t.Arity5N): t.Curry5 (arity: 6, f: t.Arity6N): t.Curry6 (arity: 7, f: t.Arity7N): t.Curry7< A, B, C, D, E, F, G, H > (arity: 8, f: t.Arity8N): t.Curry8< A, B, C, D, E, F, G, H, I > (arity: 9, f: t.Arity9N): t.Curry9< A, B, C, D, E, F, G, H, I, J > ( arity: 10, f: t.Arity10N ): t.Curry10 (arity: 0): (f: t.Arity0) => t.Arity0 (arity: 1): (f: t.Arity1N) => t.Arity1 (arity: 2): (f: t.Arity2N) => t.Curry2 (arity: 3): (f: t.Arity3N) => t.Curry3 (arity: 4): (f: t.Arity4N) => t.Curry4 (arity: 5): (f: t.Arity5N) => t.Curry5 (arity: 6): ( f: t.Arity6N ) => t.Curry6 (arity: 7): ( f: t.Arity7N ) => t.Curry7 (arity: 8): ( f: t.Arity8N ) => t.Curry8 (arity: 9): ( f: t.Arity9N ) => t.Curry9 (arity: 10): ( f: t.Arity10N ) => t.Curry10 }