¿Es posible exportar * como foo en mecanografiado

Yo puedo:

import * as foo from './foo'

Pero parece que no puede exportar lo mismo:

export * as foo from './foo'

Esto tampoco parece funcionar ...:

import * as fooImport from './foo';
export const foo = fooImport;

¿Algunas ideas?

--- ACTUALIZACIÓN ---

¿Qué estás intentando lograr?

Básicamente, estoy trabajando en implementar unngrx/store backend para mi aplicación Quiero organizar mi código así:

app/core/
  index.ts
  viewer/
    index.ts
    viewer-actions.ts
    viewer-reducer.ts
  view-data/
    index.ts
    view-data-actions.ts
    view-data-reducer.ts

Y quiero usar miindex.ts archivos para encadenar todas las exportaciones de cada subconjunto (paradigma común).

Sin embargo, quiero mantener las cosas.espacio de nombres. Cada uno de misxxx-reducer.ts yxxx-actions.ts los archivos tienen exportaciones del mismo nombre (reducer, ActionTypes, Actions, ...) entonces el encadenamiento normal resultaría en una colisión de nombres. Lo que intento hacer es permitir todas las exportaciones dexxx-actions yxxx-reducer serreexportado comoxxx. Esto me permitiría:

import { viewer, viewerData } from './core';

...
    private viewer: Observable<viewer.Viewer>;
    private viewData: Observable<viewData.ViewData>;

    ngOnInit() {
        this.viewer = this.store.let(viewer.getViewer());
        this.viewData = this.store.let(viewData.getViewData());
    }

En lugar de lo más detallado:

import * as viewer from './core/viewer';
import * as viewerData from './core/viewer-data';

...

Esa es la esencia de todos modos ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta