tree 6127c72b5e215207e36b9db9cc35e7f4e5eb793f
parent 29a7fc4e598e471a6592f64cf8c0f5f095700667
author Tim Brust <ratchet.player@gmx.de> 1550572431 +0100
committer Jan Piotrowski <piotrowski+github@gmail.com> 1550572431 +0100

feat: update typings (#78)

This is part of [apache/cordova#39](https://github.com/apache/cordova/issues/39)

<!--
Please make sure the checklist boxes are all checked before submitting the PR. The checklist is intended as a quick reference, for complete details please see our Contributor Guidelines:

http://cordova.apache.org/contribute/contribute_guidelines.html

Thanks!
-->

### Platforms affected

n/a - development with TypeScript

### Motivation and Context

updates typings as discussed in [apache/cordova#39](https://github.com/apache/cordova/issues/39)

### Description

Updates types to correctly use TSDoc format


### Testing

Manual testing via development in VSCode.


### Checklist

- [ ] I've run the tests to see all new and existing tests pass
- [ ] I added automated test coverage as appropriate for this change
- [ ] Commit is prefixed with `(platform)` if this change only applies to one platform (e.g. `(android)`)
- [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct [keyword to close issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
- [ ] I've updated the documentation if necessary
