react-router.d.ts 997 B

123456789101112131415161718192021222324252627282930313233
  1. import {ComponentClass, ComponentType, StatelessComponent} from 'react';
  2. import {InjectedRouter, PlainRoute, WithRouterProps} from 'react-router';
  3. import {Location} from 'history';
  4. declare module 'react-router' {
  5. interface InjectedRouter<P = Record<string, string>, Q = any> {
  6. location: Location<Q>;
  7. params: P;
  8. routes: PlainRoute[];
  9. }
  10. interface WithRouterProps<P = Record<string, string>, Q = any> {
  11. location: Location<Q>;
  12. params: P;
  13. router: InjectedRouter<P, Q>;
  14. routes: PlainRoute[];
  15. }
  16. type ComponentConstructor<P> =
  17. | ComponentClass<P>
  18. | StatelessComponent<P>
  19. | ComponentType<P>;
  20. declare function withRouter<P extends WithRouterProps>(
  21. component: ComponentConstructor<P>,
  22. options?: Options
  23. ): ComponentClass<Omit<P, keyof WithRouterProps>>;
  24. declare function withRouter<P extends WithRouterProps, S>(
  25. component: ComponentConstructor<P> & S,
  26. options?: Options
  27. ): ComponentClass<Omit<P, keyof WithRouterProps>> & S;
  28. }