Como a função de fluxo lodash deve ser digitada no texto datilografado?

lodash.flow combina duas ou mais funções.

lodash.flow(double, addTwo) retornaria uma função que dobraria e adicionaria duas. Como essa função deve ser digitada no texto datilografado (a definição atual retorna apenas a Função)?

declare function flow<In, Intermediate, Out>(f1: (a1: In) => Intermediate, f2: (a1: Intermediate) => Out): (a1: In)=> Out funciona para duas funções com a primeira tendo um argumento de entrada. Não tenho certeza de como estender a definição para funcionar em todos os casos.

Minha tentativa pode suportar várias funções se for chamada assim:

lodash.flow(f1, lodash.flow(f2, f3))

mas estou procurando

lodash.flow(f1, f2, f3)

questionAnswers(1)

yourAnswerToTheQuestion