Como injetar dependências em um provedor usando o Angularjs?

É possível fazer DI em um método de provedor?

Neste exemplo

angular.module('greet',[])
.provider('greeter',function() {

  this.$get=function() {

  };
})
.service('greeterService',function($http){
  console.log($http);
})
;

Injetando$http em serviço parece ser a implementação correta, mas não funciona em um método provedor e gera um erro:

Provedor desconhecido: $ http

O método provedor trabalha com DI para injetar serviços?

questionAnswers(5)

yourAnswerToTheQuestion