import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Audio } from "./Audio"; import { CompressedImage } from "./foxglove/CompressedImage"; import { CompressedVideo } from "./foxglove/CompressedVideo"; import { RawImage } from "./foxglove/RawImage"; /** * This file defines the protocol buffer messages for managing alarms in the keelson.alarms package. * It includes the main Alarms message, which contains a list of Alarm messages, each representing an individual alarm. * Each Alarm message includes details such as timestamps, source information, identifiers, descriptions, categories, priorities, acknowledgments, and multimedia content (audio and visual). * The file also defines several enumerations for categorizing alarms, setting priorities, and specifying acknowledgment schemes. */ /** Represents an alarm message with various attributes such as timestamp, source, identifier, description, category, priority, acknowledgers, audio, visual, activation and expiration times, duration, and acknowledgment scheme. */ export interface Alarm { $type: "keelson.Alarm"; /** The timestamp when the alarm was initiated. */ timestamp: Date | undefined; /** A unique identifier for the alarm. */ identifier: string; /** A description of the alarm. */ description: string; /** The category of the alarm. */ category: Alarm_Category; /** The priority level of the alarm. */ priority: Alarm_Priority; /** A list of acknowledgers supporting multi-user acknowledgment. */ acknowledgers: AlarmAcknowledgment[]; /** Audio information related to the alarm. */ audio: Audio | undefined; /** Visual information related to the alarm. */ visual: Visual | undefined; /** The UTC time when the alarm was activated. */ activationTimeUtc: Date | undefined; /** The UTC time when the alarm is set to expire. */ expirationTimeUtc: Date | undefined; /** The duration of the alarm in seconds. */ durationSeconds: number; /** The acknowledgment scheme for the alarm. */ ackScheme: Alarm_AckScheme; /** The severity level of the alarm. */ severity: Alarm_Severity; /** Indicates if the alarm has been acknowledged. */ acknowledged: boolean; } export declare enum Alarm_Category { CATEGORY_UNSPECIFIED = 0, CATEGORY_SAFETY = 1, CATEGORY_NAVIGATION = 2, CATEGORY_TECHNICAL = 3, CATEGORY_FIRE_ALARM = 4, UNRECOGNIZED = -1 } export declare function alarm_CategoryFromJSON(object: any): Alarm_Category; export declare function alarm_CategoryToJSON(object: Alarm_Category): string; export declare enum Alarm_Priority { PRIORITY_UNSPECIFIED = 0, PRIORITY_NORMAL = 1, PRIORITY_CAUTION = 2, PRIORITY_WARNING = 3, PRIORITY_EMERGENCY = 4, UNRECOGNIZED = -1 } export declare function alarm_PriorityFromJSON(object: any): Alarm_Priority; export declare function alarm_PriorityToJSON(object: Alarm_Priority): string; export declare enum Alarm_AckScheme { ACK_UNSPECIFIED = 0, ACK_IMMEDIATELY = 1, ACK_AUTO = 2, ACK_NONE = 3, UNRECOGNIZED = -1 } export declare function alarm_AckSchemeFromJSON(object: any): Alarm_AckScheme; export declare function alarm_AckSchemeToJSON(object: Alarm_AckScheme): string; export declare enum Alarm_Severity { SEVERITY_UNSPECIFIED = 0, SEVERITY_LOW = 1, SEVERITY_MEDIUM = 2, SEVERITY_HIGH = 3, SEVERITY_CRITICAL = 4, UNRECOGNIZED = -1 } export declare function alarm_SeverityFromJSON(object: any): Alarm_Severity; export declare function alarm_SeverityToJSON(object: Alarm_Severity): string; export interface AlarmAcknowledgment { $type: "keelson.AlarmAcknowledgment"; timestampAcknowledged: Date | undefined; acknowledgedBy: string; } export interface Visual { $type: "keelson.Visual"; timestamp: Date | undefined; description: string; image: RawImage | undefined; compressedImage: CompressedImage | undefined; compressedVideo: CompressedVideo | undefined; } export declare const Alarm: MessageFns; export declare const AlarmAcknowledgment: MessageFns; export declare const Visual: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude | "$type">]: never; }; interface MessageFns { readonly $type: V; encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {};