declare function compose(f2: (arg: TResult1) => TResult, f1: (arg: TArg) => TResult1): (arg: TArg) => TResult; declare function compose(f3: (arg: TResult2) => TResult, f2: (arg: TResult1) => TResult2, f1: (arg: TArg) => TResult1): (arg: TArg) => TResult;