import { VerifyLocale } from '../../enums/verifyLocale.js'; import { EmailWorkflow } from '../workflows/emailWorkflow.js'; import { SMSWorkflow } from '../workflows/smsWorkflow.js'; import { SilentAuthWorkflow } from '../workflows/silentAuthWorkflow.js'; import { VoiceWorkflow } from '../workflows/voiceWorkflow.js'; import { WhatsAppInteractiveWorkflow } from '../workflows/whatsAppInteractiveWorkflow.js'; import { WhatsAppWorkflow } from '../workflows/whatsAppWorkflow.js'; import '../../enums/channels.js'; type SMSWorkflowRequest = { app_hash?: string; content_id?: string; entity_id?: string; } & Omit; type SilentAuthWorkflowRequest = { redirect_url: string; } & Omit; /** * Represents a verification request for sending verification codes via * different communication channels. */ type VerificationRequest = { /** * The brand associated with the verification request. */ brand: string; /** * An array of workflow configurations for sending verification codes via * different channels. Each element in the array corresponds to a specific * channel workflow. */ workflow: Array; /** * (Optional) The verification code to be sent. */ code?: string; /** * (Optional) The locale for the verification request. */ locale?: VerifyLocale | string; /** * (Optional) The timeout duration for the verification channel in seconds. */ channel_timeout?: number; /** * (Optional) The client reference associated with the verification request. */ client_ref?: string; /** * (Optional) The length of the verification code, if not provided, * defaults to 4 digits. */ code_length?: 4 | 5 | 6 | 7 | 8 | 9 | 10; /** * (Optional) Indicates whether fraud checking is enabled for the * verification request. */ fraud_check?: boolean; }; export type { SMSWorkflowRequest, SilentAuthWorkflowRequest, VerificationRequest };