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;