At actyx.io , we are using ipfs for our core technology as well as for our ci pipeline and configuration. We are doing a lot of typescript, so it would be extremely helpful for us if there were typescript bindings for packages such as ipfs-api.
We have type definitions for some parts of the API that we, but it would be good to have something official that is supported by protocol labs.
So the idea is to use flow throughout the code base. That would certainly help with catching errors in development. We would be mostly interested with type definitions for the public interface of the libraries in https://github.com/DefinitelyTyped/DefinitelyTyped . I guess once you use some kind of type system within the library, exposing public type definitions for both typescript and flow would be pretty easy.
We have experience with both flow and typescript at actyx.io . We finally decided for typescript due to better quantity and quality of typings at https://github.com/DefinitelyTyped/DefinitelyTyped as well as way better tooling support.
So if the goal is to make things easier for users of the libraries such as js-ipfs-api, I would suggest adding typescript typings (maybe in addition to flow typings).
As I have mentioned before, we have worked with both typescript and flow. Flow has some theoretical advantages, but the mindshare of typescript as well as the responsiveness of the community is just orders of magnitude better with typescript.
Flow sometimes seems like some facebook internal tool that they just put out there as open source, but they don’t really care if it is used.
I strongly feel that it would help the adoption of IPFS if there were typescript type definitons for the API. What is used internally in the code base is completely separate from this.