import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import {
  ElderShellCenterDirective,
  ElderShellComponent,
  ElderShellSideLeftDirective,
  ElderShellSideRightDirective
} from './shell/elder-shell.component';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatListModule } from '@angular/material/list';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatToolbarModule } from '@angular/material/toolbar';
import {FlexLayoutModule} from '@angular/flex-layout';
import {TranslateModule} from '@ngx-translate/core';
import {ElderToolbarModule} from '../navigation/toolbar/elder-toolbar.module';
import {RouterModule} from '@angular/router';
import {ElderShellNavigationToggleComponent} from './shell-navigation-toggle/elder-shell-navigation-toggle.component';
import { ElderShellSlotDirective } from './elder-shell-slot.directive';

export * from './shell/elder-shell.component';
export {DrawerOutletBinding} from './drawers/drawer-outlet-binding';
export {ElderRouteOutletDrawerService} from './drawers/elder-route-outlet-drawer.service';
export {ElderRouterOutletService} from './drawers/elder-router-outlet.service';
export {ElderShellService} from './elder-shell.service';
export {ElderShellSlotDirective} from './elder-shell-slot.directive';
export {ShellContentSlot} from './shell-content-slot';

@NgModule({
  imports: [
    CommonModule, RouterModule,

    MatSidenavModule,
    MatToolbarModule,
    MatIconModule,
    MatListModule,
    MatButtonModule,


    ElderToolbarModule,

    FlexLayoutModule, TranslateModule

  ],
  declarations: [
    ElderShellComponent,
    ElderShellSideLeftDirective,
    ElderShellSideRightDirective,
    ElderShellCenterDirective,
    ElderShellNavigationToggleComponent,
    ElderShellSlotDirective
  ],
  exports: [
    ElderShellComponent,
    ElderShellSideLeftDirective,
    ElderShellSideRightDirective,
    ElderShellCenterDirective,
    ElderShellNavigationToggleComponent,
    ElderShellSlotDirective
  ]
})
export class ElderShellModule { }