/**
 * Copyright © 2024 Nevis Security AG. All rights reserved.
 */

/**
 * The different dispatch channels (dispatchers in nevisFIDO terminology) that can be used to transmit
 * the out-of-band operation: the out-of-band operation reaches the application either through a QR
 * code, an FCM push notification or a link.
 *
 * See the nevisFIDO {@link https://docs.nevis.net/nevisfido/reference-guide/dispatchers/dispatcher-introduction | Dispatchers for Mobile Authentication}
 * section for details.
 *
 * @group Common Objects
 */
export enum DispatchChannel {
	/**
	 * A link (Universal Link, App Links, etc.) was used for the out-of-band operation.
	 */
	link = 'link',
	/**
	 * The Firebase Cloud Messaging (that is, a push notification) was used for the
	 * out-of-band operation.
	 */
	pushNotification = 'firebase-cloud-messaging',
	/**
	 * The QR code dispatcher was used for the out-of-band operation.
	 */
	qrCode = 'png-qr-code',
	/**
	 * A QR code containing a link was used for the out-of-band operation.
	 */
	linkPngQrCode = 'link-png-qr-code',
}
