import { GlobalAutoRefreshWidgetConfig, DateTimeContext } from '@c8y/ngx-components';
import { SeverityFilter, AlarmStatusSettings } from '@c8y/client';
import { AlarmFilterInterval } from '@c8y/ngx-components/interval-picker';
export declare const ALARM_ORDER_VALUES: {
    readonly BY_ACTIVE: "BY_ACTIVE";
    readonly BY_DATE_ASCENDING: "BY_DATE_ASCENDING";
    readonly BY_DATE_DESCENDING: "BY_DATE_DESCENDING";
    readonly BY_SEVERITY: "BY_SEVERITY";
};
export declare const ALARM_ORDER_LABELS: {
    readonly BY_ACTIVE: "By active status";
    readonly BY_DATE_ASCENDING: "By date (ascending)";
    readonly BY_DATE_DESCENDING: "By date (descending)";
    readonly BY_SEVERITY: "By severity";
};
export type AlarmOrderType = keyof typeof ALARM_ORDER_VALUES;
export type SelectedDevice = {
    id: string;
    name: string;
};
export declare const ASSET_ALARMS_WIDGET_ID = "Asset Alarms";
export declare const RECENT_ALARMS_WIDGET_ID = "Recent Alarms";
export type AlarmListRefreshOption = 'none' | 'interval' | 'global-interval';
export declare const GLOBAL_INTERVAL_OPTION: AlarmListRefreshOption;
export type LegacyAlarmListConfig = {
    realtime: boolean;
    options: {
        severity: SeverityFilter;
        types: string[];
        orderMode: string;
        device: string;
        status: AlarmStatusSettings;
    };
    device?: {
        name: string;
        id: string;
    };
};
export declare enum DATE_SELECTION {
    CONFIG = "config",
    VIEW_AND_CONFIG = "view_and_config",
    DASHBOARD_CONTEXT = "dashboard_context"
}
export interface AlarmListWidgetConfig extends GlobalAutoRefreshWidgetConfig {
    order: AlarmOrderType;
    isRealtime?: boolean;
    showAlarmsForChildren?: boolean;
    refreshInterval?: number;
    isAutoRefreshEnabled?: boolean;
    refreshOption?: AlarmListRefreshOption;
    device?: SelectedDevice;
    severities: SeverityFilter;
    status: AlarmStatusSettings;
    types?: string[];
    dateFilter?: DateTimeContext;
    widgetInstanceGlobalTimeContext?: boolean;
    displayDateSelection?: boolean;
    interval?: AlarmFilterInterval['id'];
    displaySettings?: {
        globalTimeContext: boolean;
        globalAutoRefreshContext: boolean;
    };
}
//# sourceMappingURL=alarm-list-widget.model.d.ts.map