import { ModuleWithProviders } from '@angular/core';
import { WidgetsModule } from '@c8y/ngx-components/widgets';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components/widgets";
/**
 * @deprecated
 */
export declare const cockpitDefaultWidgets: ({
    id: "Alarm list";
    label: "Alarm list";
    description: "Displays a list of alarms filtered by object, severity, status and date";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/alarms").AlarmListWidgetComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/alarms").AlarmListWidgetConfigComponent>;
    previewImage: string;
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            alarmListWidget: boolean;
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: false;
                    groupsSelectable: true;
                    deviceTargetNotRequired: boolean;
                };
            };
        };
        displaySettings: {
            globalTimeContext: true;
            globalAutoRefreshContext: true;
        };
    };
} | {
    id: "Asset Alarms";
    label: "All critical alarms";
    description: "Display all critical alarms from all devices";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/alarms").AlarmListWidgetComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/alarms").AlarmListWidgetConfigComponent>;
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            criticalAlarmsWidget: boolean;
            noNewWidgets: true;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: false;
                    groupsSelectable: true;
                    deviceTargetNotRequired: boolean;
                };
            };
        };
        displaySettings: {
            globalAutoRefreshContext: true;
        };
    };
} | {
    id: "Recent Alarms";
    label: "Recent alarms";
    description: "Log of recent alarms from all devices with any severity and status";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/alarms").AlarmListWidgetComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/alarms").AlarmListWidgetConfigComponent>;
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            recentAlarmsWidget: boolean;
            noNewWidgets: true;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: false;
                    groupsSelectable: true;
                    deviceTargetNotRequired: boolean;
                };
            };
        };
        displaySettings: {
            globalAutoRefreshContext: true;
        };
    };
} | {
    id: "Image";
    label: "Image";
    description: "Display a single image selected from the user's file system.";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/image").ImageWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/image").ImageWidgetConfigComponent>;
    previewImage: string;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "kpi.widget";
    label: "KPI";
    description: "Displays the last measurement value of a device.";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/kpi").KpiWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/kpi").KpiWidgetConfigComponent>;
    previewImage: string;
    resolve: {
        datapoints: typeof import("@c8y/ngx-components").DynamicDatapointsResolver;
    };
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "markdown";
    label: "Markdown widget";
    description: "Display content provided as Markdown. You can either upload a file, or provide a file path.";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/markdown").MarkdownWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/markdown").MarkdownWidgetConfigComponent>;
    previewImage: string;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "cockpit.welcome.widget";
    label: "Welcome to Cockpit";
    description: "Displays a welcome message for Cockpit";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/cockpit-welcome").WelcomeToCockpitComponent>;
    previewImage: string;
    data: {
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "Cockpit Welcome";
    label: "Welcome to Cockpit";
    description: "Displays a welcome message for Cockpit";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/cockpit-legacy-welcome").CockpitLegacyWelcomeWidgetComponent>;
    data: {
        settings: {
            noNewWidgets: true;
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "HelpAndService";
    label: "Help and service";
    description: "Displays links to help and service resources.";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/help-and-service-widget").HelpAndServiceViewComponent>;
    previewImage: string;
    data: {
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "rotation3d";
    label: "Rotation widget";
    description: "Displays current device orientation";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/three-d-rotation").ThreeDRotationWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/three-d-rotation").ThreeDRotationWidgetConfigComponent>;
    previewImage: string;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: false;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "Map";
    label: "Map";
    description: "Shows the position of a device or all devices in a group.";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/map").MapWidgetComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/map").MapWidgetConfigComponent>;
    resolve: {
        device: typeof import("@c8y/ngx-components").DynamicManagedObjectResolver;
    };
    previewImage: string;
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: false;
                    groupsSelectable: true;
                    deviceTargetNotRequired: boolean;
                };
            };
        };
        displaySettings: {
            globalTimeContext: false;
            globalAutoRefreshContext: true;
            globalRealtimeContext: true;
        };
    };
} | {
    id: "deviceControlMessageWidget";
    label: "Message sending";
    description: "Remotely send a message to a device";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/device-control-message").DeviceControlMessageWidgetViewComponent>;
    resolve: {
        device: typeof import("@c8y/ngx-components").DynamicManagedObjectResolver;
    };
    previewImage: string;
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "infoGauge";
    label: "Info gauge";
    description: "Radial gauge and multiple label and value pairs for data points";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/info-gauge").InfoGaugeWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/info-gauge").InfoGaugeWidgetConfigComponent>;
    previewImage: string;
    resolve: {
        datapointsLabels: typeof import("@c8y/ngx-components").DynamicDatapointsResolver;
        datapointsGauge: typeof import("@c8y/ngx-components").DynamicDatapointsResolver;
    };
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "KPI Linear Gauge";
    label: "Linear Gauge";
    description: "A linear gauge graph displaying current values for selected measurements";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/linear-gauge").LinearGaugeWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/linear-gauge").LinearGaugeWidgetConfigComponent>;
    previewImage: string;
    resolve: {
        datapoints: typeof import("@c8y/ngx-components").DynamicDatapointsResolver;
    };
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "KPI Silo";
    label: "Silo";
    description: "A silo displaying current values for selected measurements";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/linear-gauge").LinearGaugeWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/linear-gauge").LinearGaugeWidgetConfigComponent>;
    previewImage: string;
    resolve: {
        datapoints: typeof import("@c8y/ngx-components").DynamicDatapointsResolver;
    };
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "Applications";
    label: "Applications";
    description: "Displays the list of links to available applications.";
    component: typeof import("@c8y/ngx-components").AppSwitcherInlineComponent;
    previewImage: string;
    data: {
        settings: {
            noNewWidgets: false;
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "KPI Radial Gauge";
    label: "Radial gauge";
    description: "Shows the device measurements in a radial gauge.";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/info-gauge").InfoGaugeWidgetViewComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/info-gauge").InfoGaugeWidgetConfigComponent>;
    previewImage: string;
    resolve: {
        datapoints: typeof import("@c8y/ngx-components").DynamicDatapointsResolver;
    };
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    groupsSelectable: false;
                };
            };
        };
    };
} | {
    id: "Data points table";
    label: "Data points table";
    description: "A table display of a collection of data points";
    loadComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/datapoints-table").DatapointsTableViewWidgetComponent>;
    loadConfigComponent: () => Promise<import("@angular/core").Type<any> | typeof import("@c8y/ngx-components/dist/widgets/implementations/datapoints-table").DatapointsTableWidgetConfigComponent>;
    previewImage: string;
    errorStrategy: import("@c8y/ngx-components").DynamicComponentErrorStrategy.OVERLAY_ERROR;
    data: {
        schema: () => Promise<{
            default: typeof import("c8y-schema-loader?interfaceName=*");
            schema: import("json-schema").JSONSchema7;
        }>;
        settings: {
            noNewWidgets: false;
            widgetDefaults: {
                _width: number;
                _height: number;
            };
            ng1: {
                options: {
                    noDeviceTarget: true;
                    minCol: number;
                    datapointAttributes: string[];
                };
            };
        };
        displaySettings: {
            globalAutoRefreshContext: true;
            globalTimeContext: true;
            globalRealtimeContext: false;
            globalAggregationContext: true;
        };
    };
})[];
/**
 * 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`.
 */
export declare function cockpitWidgets(excludeList?: Array<(typeof cockpitDefaultWidgets)[number]['id']>): ModuleWithProviders<WidgetsModule>;
/**
 * 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`.
 */
export declare class CockpitWidgetsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<CockpitWidgetsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<CockpitWidgetsModule, never, [typeof i1.WidgetsModule], never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<CockpitWidgetsModule>;
}
//# sourceMappingURL=index.d.ts.map