Interfaz angular 2 para servicio

Quiero desarrollar un componente de búsqueda. Aquí está el caso de uso:

Este componente llama a un servicio con los parámetros de términos de búsqueda.El servicio llama al punto final de la API y devuelve los objetos resultantes como una colección.El componente muestra los resultados en la plantilla.

Quiero escribir solo un componente de búsqueda capaz de llamar a un servicio diferente según el caso. Imagina que tengo dos servicios:

SearchInMaleEmployeeServiceSearchInFemaleEmployeeService

Ambos servicios implementan una función de búsqueda que devuelve una lista de empleados. Me gustaría decirle a mi componente qué servicio, según el caso. En C #, podemos usar la interfaz para indicarle al constructor del componente qué servicio usar.

¿Cómo puedo hacer eso en Angular2?

Pregunta adicional: ¿Cómo puedo decirle a mi componente qué plantilla usar para representar los resultados de búsqueda dependiendo del tipo de objeto devuelto por el servicio?

Respuestas a la pregunta(2)

Su respuesta a la pregunta