// Copyright 2022 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only export enum PaymentEventKind { Notification = 1, ActivationRequest = 2, Activation = 3, // Request = 4, -- disabled // Cancellation = 5, -- disabled } export type PaymentNotificationEvent = { kind: PaymentEventKind.Notification; note: string | null; }; export type PaymentActivationRequestEvent = { kind: PaymentEventKind.ActivationRequest; }; export type PaymentActivatedEvent = { kind: PaymentEventKind.Activation; }; export type AnyPaymentEvent = | PaymentNotificationEvent | PaymentActivationRequestEvent | PaymentActivatedEvent; export function isPaymentNotificationEvent( event: AnyPaymentEvent ): event is PaymentNotificationEvent { return event.kind === PaymentEventKind.Notification; }