## Why?
Typescript requires assign of `navigation` on Component that is created with `withNavigation` HOC. But it comes with that function so it shouldn't require that property.
## Example
```typescript
//
// on the current version, this will give an error.
// with this PR, it will work.
//
interface IHelloProps extends Partial<NavigationInjectedProps> {
hello: boolean;
}
const HelloBox: SFC<IHelloProps> = ({ navigation, hello }) => (
<View>
<TouchableHighlightCustom onPress={() => navigation.navigate('TEST', { hello })}>
<Text>Hello</Text>
</TouchableHighlightCustom>
</View>;
);
export default withNavigation(HelloBox);
```
----
Please fill in this template.
- [X] Use a meaningful title for the pull request. Include the name of the package modified.
- [X] Test the change in your own code. (Compile and run.)
- [x] Add or edit tests to reflect the change. (Run with `npm test`.)
- [x] Follow the advice from the [readme](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.md#make-a-pull-request).
- [X] Avoid [common mistakes](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.md#common-mistakes).
- [X] Run `npm run lint package-name` (or `tsc` if no `tslint.json` is present).
Select one of these and delete the others:
If adding a new definition:
- [ ] The package does not already provide its own types, or cannot have its `.d.ts` files generated via `--declaration`
- [ ] If this is for an NPM package, match the name. If not, do not conflict with the name of an NPM package.
- [ ] Create it with `dts-gen --dt`, not by basing it on an existing project.
- [ ] `tslint.json` should be present, and `tsconfig.json` should have `noImplicitAny`, `noImplicitThis`, `strictNullChecks`, and `strictFunctionTypes` set to `true`.
If changing an existing definition:
- [ ] Provide a URL to documentation or source code which provides context for the suggested changes: <<url here>>
- [ ] Increase the version number in the header if appropriate.
- [ ] If you are making substantial changes, consider adding a `tslint.json` containing `{ "extends": "dtslint/dt.json" }`.
If removing a declaration:
- [ ] If a package was never on DefinitelyTyped, you don't need to do anything. (If you wrote a package and provided types, you don't need to register it with us.)
- [ ] Delete the package's directory.
- [ ] Add it to `notNeededPackages.json`.
* correct type for withNavigation onRef, add generic to access class methods
* tests for withNavigation class correctness
* tabbing
* remove generic, add explicit type suggestion
* Adding a failing test for getParam
This demonstrates that typing of `navigation.getParam` works when a parameter type is provided.
This fails with the following error:
```
ERROR: 559:54 expect TypeScript@next compile error:
Argument of type '"title"' is not assignable to parameter of type '"unknown"'.
```
* Making test pass