/** * Device types for Admin SDK */ /** * Device connection status */ export type DeviceStatus = 'connecting' | 'qr' | 'open' | 'closed' | 'reset' | 'banned'; /** * Basic device information */ export interface Device { tenantId: string; deviceId: string; status: DeviceStatus; lastQr?: string | null; qrGeneratedAt?: string | null; jid?: string | null; lid?: string | null; lastError?: string | null; createdAt: string; updatedAt: string; } /** * Device with tenant information (from getAllDevices) */ export interface DeviceWithTenant extends Device { tenantName: string; qrExpired: boolean; qrExpiresInSeconds: number; } /** * Operation result for async operations */ export interface OperationResult { correlationId: string; operation: string; status: 'pending' | 'success' | 'failed'; request?: any; result?: any; error?: string; createdAt: string; updatedAt: string; } /** * Device snapshot with operations info (from getAdminDeviceSnapshot) */ export interface DeviceSnapshot { tenantId: string; deviceId: string; status: DeviceStatus; lastActivityAt: string; metadata: { createdAt: string; updatedAt: string; }; qr: { value: string | null; generatedAt: string | null; expiresInSeconds: number; expired: boolean; } | null; operations: { pendingCount: number; last: OperationResult | null; }; } /** * QR code response */ export interface QRResponse { qr: string | null; status: DeviceStatus; expiresInSeconds?: number; } /** * Options for connect operation */ export interface ConnectOptions { callbackUrl?: string; correlationId?: string; } /** * Options for reconnect operation */ export interface ReconnectOptions { force?: boolean; callbackUrl?: string; correlationId?: string; } /** * Options for disconnect/reset/ping operations */ export interface DeviceOperationOptions { callbackUrl?: string; correlationId?: string; } /** * Options for generating QR link */ export interface GenerateQRLinkOptions { deviceId?: string; expirationHours?: number; } /** * QR link generation response */ export interface QRLinkResponse { id: string; token: string; link: string; expiresAt: string; expirationHours: number; } /** * Data for sending QR link via WhatsApp */ export interface SendQRLinkData { recipientTenantId: string; recipientJid: string; senderDeviceId?: string; recipientDeviceId?: string; } /** * Send message data (for admin send message) */ export interface SendMessageData { jid: string; text: string; callbackUrl?: string; correlationId?: string; } /** * Operation response (returned by connect/reconnect/etc) */ export interface OperationResponse { correlationId: string; message: string; status: 'pending' | 'success' | 'failed'; } //# sourceMappingURL=devices.d.ts.map