export interface QrCodeScanRequest { id?: number; sessionId: string; offset?: number; limit?: number; } export interface QrCodeScanResponse extends QrCodeScanRequest { id: number; createdAt?: string; updatedAt?: string; status?: 'active' | 'used' | 'expired' | 'cancelled'; } export interface QrCodeScanListResponse { data: QrCodeScanResponse[]; count: number; offset?: number; limit?: number; } export interface QrCodeScanSession { sessionId: string; createdAt: string; expiresAt: string; status: 'active' | 'used' | 'expired'; scannedAt?: string; scanCount: number; maxScans?: number; metadata?: Record; } export interface QrCodeScanCreateOptions { sessionId: string; expirationMinutes?: number; maxScans?: number; metadata?: Record; } export interface QrCodeScanSearchFilters { sessionId?: string; status?: string; createdAfter?: string; createdBefore?: string; expiresAfter?: string; expiresBefore?: string; } export interface QrCodeScanAnalytics { totalScans: number; uniqueSessions: number; successfulScans: number; failedScans: number; averageScansPerSession: number; peakScanTime: string; scansByHour: Record; scansByDay: Record; } export interface QrCodeScanValidation { isValid: boolean; reason?: string; sessionData?: QrCodeScanSession; remainingScans?: number; timeUntilExpiry?: number; } //# sourceMappingURL=qrcode-scan.d.ts.map