/** Helper type for single arg function */ type Func = (a: A) => B; /** * Compose 1 to n functions. * @param func first function * @param funcs additional functions */ export declare function compose, FN extends Array>, R extends FN extends [] ? F1 : FN extends [Func] ? (a: A) => ReturnType : FN extends [any, Func] ? (a: A) => ReturnType : FN extends [any, any, Func] ? (a: A) => ReturnType : FN extends [any, any, any, Func] ? (a: A) => ReturnType : FN extends [any, any, any, any, Func] ? (a: A) => ReturnType : Func>>(func: F1, ...funcs: FN): R; export {};