import { NgModule }                             from '@angular/core'
import { FormsModule, ReactiveFormsModule }     from '@angular/forms'

// Shared Modules
import { SharedModule }                     from '@k-core/modules/shared/mod.shared'

// Routing
import { LayoutRouting }                    from './rte.layout'

// Components
import { ModalComponent }                   from '../../components/layout/modal/cmp.modal'
import { VideoComponent }                   from '../../components/layout/video/cmp.video'
import { TextComponent }                    from '../../components/layout/text/cmp.text'
import { MapComponent }                     from '../../components/layout/map/cmp.map'


// Modules


// Views


// Pipes


// Services
import { PageService }                      from '../../services/svc.page'
import { VideoService }                     from '../../services/svc.video'
import { BlockService }                     from '../../services/svc.block'
import { MenuService }                 		from '@k-services/svc.menu'


import { AgmCoreModule }                    from '@agm/core';
import { Cookie }                           from 'ng2-cookies/ng2-cookies'

@NgModule({
	imports: [ 
		SharedModule,
		LayoutRouting,
		FormsModule,
		ReactiveFormsModule,
		AgmCoreModule.forRoot({
			apiKey: 'AIzaSyBrv2n5CxA0-GTfk_75KXarybEhei8zcxM' // TODO: Project specific API key, please change when new project
		})
	],
	declarations: [
		ModalComponent,
		VideoComponent,
		TextComponent,
		MapComponent,
	],
	exports: [
		ModalComponent
	],
	providers: [
		PageService, 
		VideoService, 
		BlockService, 
		MenuService, 
		Cookie,
	]
})
export class LayoutModule { }