import * as i0 from '@angular/core';
import { NgModule } from '@angular/core';
import * as i1 from '@c8y/ngx-components/widgets';
import { WidgetsModule } from '@c8y/ngx-components/widgets';
import { legacyCockpitWelcomeWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/cockpit-legacy-welcome';
import { cockpitWelcomeWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/cockpit-welcome';
import { kpiWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/kpi';
import { markdownWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/markdown';
import { imageWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/image';
import { helpAndServiceWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/help-and-service';
import { threeDRotationWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/three-d-rotation';
import { mapWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/map';
import { deviceControlMessageWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/device-control-message';
import { infoGaugeWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/info-gauge';
import { linearGaugeWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/linear-gauge';
import { siloWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/silo';
import { applicationsWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/applications';
import { alarmListWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/alarms/alarm-list';
import { criticalAlarmsWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/alarms/all-critical-alarms';
import { recentAlarmsDefinition } from '@c8y/ngx-components/widgets/definitions/alarms/recent-alarms';
import { dataPointsTableWidgetDefinition } from '@c8y/ngx-components/widgets/definitions/datapoints-table';

/**
 * @deprecated
 */
const cockpitDefaultWidgets = [
    alarmListWidgetDefinition,
    criticalAlarmsWidgetDefinition,
    recentAlarmsDefinition,
    imageWidgetDefinition,
    kpiWidgetDefinition,
    markdownWidgetDefinition,
    cockpitWelcomeWidgetDefinition,
    legacyCockpitWelcomeWidgetDefinition,
    helpAndServiceWidgetDefinition,
    threeDRotationWidgetDefinition,
    mapWidgetDefinition,
    deviceControlMessageWidgetDefinition,
    infoGaugeWidgetDefinition,
    linearGaugeWidgetDefinition,
    siloWidgetDefinition,
    applicationsWidgetDefinition,
    dataPointsTableWidgetDefinition
];
/**
 * Widgets module to be imported in your app module. The exclude list allows to exclude certain widgets.
 * Calls `WidgetsModule.config` under the hood with the `cockpitDefaultWidgets`.
 * ***
 * NOTE:
 * The excluded widgets will still be part of your bundle.
 * But as they are lazy loaded should not increase loading duration.
 * ***
 * @param excludeList allows to exclude specific widgets by their id.
 * @returns An empty module with some providers.
 * @deprecated Instead add the `cockpitWidgetsExports` to the exports of your `cumulocity.config.ts`.
 */
function cockpitWidgets(excludeList) {
    return WidgetsModule.config({ widgets: cockpitDefaultWidgets, excludeList });
}
/**
 * Module with all widgets used in the cockpit.
 * In case specific widgets should be excluded, import the `cockpitWidgets` function instead.
 * @deprecated Instead add the `cockpitWidgetsExports` to the exports of your `cumulocity.config.ts`.
 */
class CockpitWidgetsModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CockpitWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: CockpitWidgetsModule, imports: [i1.WidgetsModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CockpitWidgetsModule, imports: [cockpitWidgets()] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CockpitWidgetsModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [cockpitWidgets()]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { CockpitWidgetsModule, cockpitDefaultWidgets, cockpitWidgets };
//# sourceMappingURL=c8y-ngx-components-widgets-cockpit.mjs.map
