import React from 'react' ; type HOC < T extends { } , S > = ( BaseComponent : React . ComponentType < T > ) => React . ComponentType < S > ; function compose < T , P > ( f1 ) ; function compose < T , S1 , P > ( f1 , f2 ) ; function compose < T , S1 , S2 , P > ( f1 , f2 , f3 ) ; function compose < T , S1 , S2 , S3 , P > ( f1 , f2 , f3 , f4 ) ; function compose < T , S1 , S2 , S3 , S4 , P > ( f1 , f2 , f3 , f4 , f5 ) ; function compose < T , S1 , S2 , S3 , S4 , S5 , P > ( f1 , f2 , f3 , f4 , f5 , f6 ) ; function compose < T , S1 , S2 , S3 , S4 , S5 , S6 , P > ( f1 , f2 , f3 , f4 , f5 , f6 , f7 ) ; function compose ( ... fns ) ; function compose ( ... fns ) { return fns . reduce ( ( a , b ) => ( ... args ) => a ( b ( ... args ) ) , ( arg ) => arg ) ; } export default compose ;