import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CoreModule, hookActionBar, hookRoute, hookTab, ViewContext } from '@c8y/ngx-components';
import { MapModule } from '@c8y/ngx-components/map';
import { AddLocationComponent } from './add-location.component';
import { AddLocationFactory } from './add-location.factory';
import { LocationTabFactory } from './location-tab.factory';
import { LocationComponent } from './location.component';
import * as i0 from "@angular/core";
export class LocationRouteModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationRouteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LocationRouteModule, declarations: [LocationComponent], imports: [MapModule, CoreModule, RouterModule], exports: [LocationComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationRouteModule, providers: [
            hookRoute({
                path: 'location',
                component: LocationComponent,
                context: ViewContext.Device,
                tabs: []
            }),
            hookRoute({
                path: 'location',
                component: LocationComponent,
                context: ViewContext.Group,
                tabs: []
            })
        ], imports: [MapModule, CoreModule, RouterModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationRouteModule, decorators: [{
            type: NgModule,
            args: [{
                    declarations: [LocationComponent],
                    imports: [MapModule, CoreModule, RouterModule],
                    exports: [LocationComponent],
                    providers: [
                        hookRoute({
                            path: 'location',
                            component: LocationComponent,
                            context: ViewContext.Device,
                            tabs: []
                        }),
                        hookRoute({
                            path: 'location',
                            component: LocationComponent,
                            context: ViewContext.Group,
                            tabs: []
                        })
                    ]
                }]
        }] });
export class LocationTabModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationTabModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LocationTabModule, imports: [LocationRouteModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationTabModule, providers: [hookTab(LocationTabFactory)], imports: [LocationRouteModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationTabModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [LocationRouteModule],
                    providers: [hookTab(LocationTabFactory)]
                }]
        }] });
/**
 * @deprecated has been splitted into `LocationTabModule` and `AddLocationModule`.
 */
export class LocationModule {
    /**
     *
     * @deprecated use the `LocationTabModule` and optionally `AddLocationModule` instead.
     */
    static config(config = { addLocation: false }) {
        return {
            ngModule: LocationModule,
            providers: config.addLocation ? [hookActionBar(AddLocationFactory)] : []
        };
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LocationModule, imports: [LocationTabModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationModule, imports: [LocationTabModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocationModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [LocationTabModule]
                }]
        }] });
export class AddLocationModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLocationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AddLocationModule, declarations: [AddLocationComponent], imports: [CoreModule, LocationRouteModule], exports: [AddLocationComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLocationModule, providers: [hookActionBar(AddLocationFactory)], imports: [CoreModule, LocationRouteModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddLocationModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [CoreModule, LocationRouteModule],
                    declarations: [AddLocationComponent],
                    exports: [AddLocationComponent],
                    providers: [hookActionBar(AddLocationFactory)]
                }]
        }] });
//# sourceMappingURL=data:application/json;base64, 