import { UserRole } from "vr-models"; export type VerificationMethod = "SMS" | "EMAIL"; export interface PendingRegistration { id: string; firstName: string; lastName: string; phoneNumber: string; email: string; password: string; nationalId: string; otp: string; otpExpiresAt: Date; verificationMethod: VerificationMethod; createdAt: Date; } export interface VerifyPhoneResponse { available: boolean; message: string; method?: VerificationMethod; } export interface ConfirmResponse { success: boolean; message: string; token?: string; user?: any; } export interface UploadResult { url: string; publicId: string; } export interface StockChangeResult { success: boolean; previousStock: number; newStock: number; productId: string; productName: string; } export interface DeviceResetResult { success: boolean; updatedCount: number; failedCount: number; failedPairIds: string[]; errors: string[]; message: string; totalProcessed: number; pairsProcessed: number; } export interface DeviceResetOptions { actorId?: string; actorRole?: UserRole | string; transaction?: any; batchSize?: number; maxRetries?: number; triggeredBy?: "cronjob" | "manual"; condition?: { status?: string | string[]; isPermanentlyUnlocked?: boolean; pairId?: string | string[]; productId?: string | string[]; dedicatedUser?: string | string[]; createdBefore?: Date; createdAfter?: Date; excludeStatus?: string | string[]; excludePairIds?: string | string[]; }; update?: { status?: string; isPermanentlyUnlocked?: boolean; dedicatedUser?: string; devicePaymentPlanId?: string | null; activatedAt?: Date | null; }; }