Angular 2 - AOT - Función de llamada 'ChartModule', llamadas de función no compatibles

Estoy perdiendo la cabeza y el pelo por esto. Estoy importando HighCharts en Angular 2 pero necesito requerir algunas de sus bibliotecas adicionales. Hasta ahora en mi código tengo

import {ChartModule} from 'angular2-highcharts';
@NgModule({
....
imports:[
ChartModule.forRoot(require('highcharts'), require('highcharts/modules/drilldown'))})
]

Pero sigo recibiendo este error

ERROR en error encontrado resolviendo valores de símbolos estáticamente. Llamando a la función 'ChartModule'. las llamadas a funciones no son compatibles. Considere reemplazar la función o lambda con una referencia a una función exportada.

Así que lo intenté

export function highchartsRequire:any {
   return{
     require('highcharts'), 
     require('highcharts/modules/drilldown')
   }
}
...
ChartModule.forRoot(highchartsRequire())

Aún no funciona. ¿Algunas ideas?

Usando angular 2 angular cli: 1.0.0-beta.30

ACTUALIZACIÓN: funcionó parcialmente gracias a JayChase

Esto funciona

export function highchartsFactory() {
      return require('highcharts');

    }

Pero no puedo requerir dos a la vez

declare var require: any;
export function highchartsFactory() {
  return function () {
    require('highcharts');
    require('highcharts/modules/drilldown')
  };
}

@NgModule({
  imports: [
    ChartModule
  ],
  providers: [
    {
      provide: HighchartsStatic,
      useFactory: highchartsFactory
    }
  ],

¿Algunas ideas? Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta