git typescript interface for promises