import { AlarmSender } from './alarmsender'; interface AlarmInfo { oid: string; active: boolean; moduleId: string; errorCode: number; severity: number; eventType: number; probableCause: number; modelDescription: string; activeDescription: string; documentation?: { description?: string; alarmingObject?: string; raisedBy?: string; clearedBy?: string; proposedRepairAction?: string; }; interval: number; threshold: number; } interface Alarm { alarmCnt: number; clearCnt: number; totalCnt: number; alarmName: string; alarmInfo: AlarmInfo; alarmState: boolean; alarmSender: AlarmSender; scheduleState: boolean; ttl: number; release(): void; raiseAlarm(): boolean; clearAlarm(): boolean; } declare class AlarmFactory implements Iterable { private readonly alarmMap; constructor(); setAlarm(name: string, info: AlarmInfo, sender: AlarmSender): Alarm; getAlarm(name: string): Alarm | undefined; [Symbol.iterator](): IterableIterator; } export { AlarmInfo, Alarm, AlarmFactory };