Я узнал из angular-material и angular-flex-layout, что при экспорте компонента они сначала экспортируют соответствующие подкомпоненты в public-api.ts, а затем просто экспортируют все из public-api.ts в index.ts (например, экспорт * из './public-api'). Вот пример компонента значка:
// public-api.ts
export * from './badge-module';
export * from './badge';
// index.ts
export * from './public-api';
У меня вопрос, почему не просто поместить все объекты экспорта в index.ts, а создать границы еще одного public-api.ts?