import { ISource, SeverityType } from '../core';
import { AlarmStatusType } from './AlarmStatus';
export interface IAlarm {
    /**
     * Specifies the severity of an alarm
     */
    severity: SeverityType;
    /**
     * Specifies which device has the alarm
     */
    source: ISource;
    /**
     * Type of the alarm
     */
    type: string;
    /**
     * Time when the alarm occurred
     */
    time: string;
    /**
     * Alarm text
     */
    text: string;
    /**
     * Identifier of the alarm
     */
    id?: string | number;
    /**
     * Current status of the alarm
     */
    status?: AlarmStatusType;
    /**
     * How many times the same alarm appeared
     */
    count?: number;
    /**
     * Name of the alarm
     */
    name?: string;
    /**
     * Object with audit records as array
     */
    history?: object;
    /**
     * Self link to the alarm
     */
    self?: string;
    /**
     * When was the alarm created as first instance
     */
    creationTime?: string;
    /**
     * The time when the alarm first occurred
     */
    firstOccurrenceTime?: string;
    /**
     * Other custom keys
     */
    [key: string]: any;
}
export interface AlarmQueryFilter {
    pageSize?: number;
    query?: string;
    severity?: string;
    source?: string | number;
    status?: string;
    type?: string;
    withSourceAssets?: boolean | string;
    withTotalPages?: boolean;
    withSourceDevices?: boolean | string;
    [key: string]: any;
}
export interface UpdateBulkQueryFilter {
    resolved: boolean;
    severity: SeverityType;
    withSourceAssets?: boolean;
    withSourceDevices?: boolean;
    source?: string | number;
}
//# sourceMappingURL=IAlarm.d.ts.map