Interface Angular 2 para serviço

Eu quero desenvolver um componente de pesquisa. Aqui está o caso de uso:

Este componente chama um serviço com parâmetros de termos de pesquisa.O serviço chama o ponto de extremidade da API e retorna os objetos resultantes como uma coleção.O componente exibe os resultados no modelo.

Quero escrever apenas um componente de pesquisa capaz de chamar um serviço diferente, dependendo do caso. Imagine que eu tenho dois serviços:

SearchInMaleEmployeeServiceSearchInFemaleEmployeeService

Ambos os serviços implementam uma função de pesquisa retornando uma lista de funcionários. Gostaria de informar ao meu componente qual serviço, dependendo do caso. Em C #, podemos usar a interface para informar ao construtor do componente qual serviço usar.

Como posso fazer isso no Angular2?

Pergunta de bônus: como posso dizer ao meu componente qual modelo usar para renderizar os resultados da pesquisa, dependendo do tipo de objeto retornado pelo serviço?