/** * Copyright 2022 Gravwell, Inc. All rights reserved. * * Contact: [legal@gravwell.io](mailto:legal@gravwell.io) * * This software may be modified and distributed under the terms of the MIT * license. See the LICENSE file for details. */ import { NumericID, UUID } from '../../value-objects/id'; export declare type TargetedNotificationTargetType = TargetedNotification['targetType']; export declare type TargetedNotification = MyselfTargetedNotification | GroupTargetedNotification | UserTargetedNotification; export interface MyselfTargetedNotification extends BaseTargetedNotification { targetType: 'myself'; } export interface GroupTargetedNotification extends BaseTargetedNotification { targetType: 'group'; /** ID of the group targeted by the notification */ groupID: NumericID; } export interface UserTargetedNotification extends BaseTargetedNotification { targetType: 'user'; } export interface BaseTargetedNotification { id: NumericID; customID: NumericID | null; userID: NumericID; globalID: UUID; type: 'targeted'; message: string; sentDate: string; expirationDate: string; ignoreUntilDate: string; origin: string; senderID: string; link: string | null; }