UPDATE - the context of this question was pre-TypeScript 1.4. Since that version, my first guess has been supported by the language. See the update to the answer.
I can declare f to be a function that accepts a string and returns a string:
var f : (string) => string
And I can declare g to be an array of string:
var g : string[]
How can I declare h to be an array of "function that accepts a string and returns a string"?
My first guess:
var h : ((string) => string)[]
That seems to be a syntax error. If I take away the extra parentheses then it's a function from string to array of string.