I don't think we need an additional API in ApplicationClientProtocol to get that.
Thats true. We do not really require new client API.
Additionally If I look at the user use cases, user would require both absolute time and remaining time. Say if timeout is less than a day or half a day, then remaining timeout would be sufficient. If timeout is 3-4 days later, user might interested in knowing which day it will get time out. So, How about new object ApplicationTimeout which gives both absolute-time and remaining-time for given ApplicationTimeoutType? The ApplicationReport would consists of Map<ApplicationTimeoutTypes, ApplicationTimeout>. Thoughts?