export interface ComposeSignature { (): (i: A) => A; (b: (i: A) => B): (i: A) => B; (c: (i: B) => C, b: (i: A) => B): (i: A) => C; (d: (i: C) => D, c: (i: B) => C, b: (i: A) => B): (i: A) => D; (e: (i: D) => E, d: (i: C) => D, c: (i: B) => C, b: (i: A) => B): (i: A) => E; (f: (i: E) => F, e: (i: D) => E, d: (i: C) => D, c: (i: B) => C, b: (i: A) => B): (i: A) => F; (...fns: any[]): (input: any) => any; } export declare const compose: ComposeSignature;