¿Cómo puedo agregar tipificaciones de Typescript para AngularJS $ q y $ http?

En mi código tengo esto:

/// <reference path="../../../../scripts/typings/angularjs/angular.d.ts" /> angular.module('question') .controller('QuestionHomeController', [ '$http', 'enumService', '$q', '$rootScope', '$scope', '$state', questionHomeController]); function questionHomeController( $http, enumService, $q, $rootScope, $scope, $state ) { 

¿Puede alguien decirme cómo puedo agregar mecanografía de TypeScript para $ http y $ q? Ya hago reference a los files de definición de types de AngularJS, pero las tipificaciones aún no aparecen

Si tiene los typings incluidos en su proyecto, solo necesita usarlos como el tipo para las variables, para que pueda get las properties / funciones de ese tipo que aparecen en el intellisense.

 angular.module('question') .controller('QuestionHomeController', [ '$http', 'enumService', '$q', '$rootScope', '$scope', '$state', questionHomeController]); function questionHomeController( $http : ng.IHttpService, enumService, $q: ng.IQService, $rootScope : ng.IRootScopeService, $scope : ng.IScope, $state : ng.ui.IStateService ) { 

De forma similar, también puede especificar el tipo de interfaz para el ejemplo de service for enumService . También puede extender los types existentes también. Por ejemplo, su scope tiene su propia function y usa scope como su viewModel luego:

 interface IquestionHomeViewModel extends ng.IScope { func1(arg:string):void; ... } 

y lo usarías como:

 $scope : IquestionHomeViewModel ,