/** * WiFi Direct Transport for TOSS * * Higher-bandwidth alternative to BLE for device-to-device communication * Fallback to BLE if WiFi Direct unavailable * * Uses native React Native APIs for production-ready implementation */ import type { SolanaIntent } from './intent'; import type { OfflineTransaction } from './types/nonceAccount'; /** * WiFi Direct connection state */ export interface WiFiDirectPeer { deviceName: string; deviceAddress: string; isGroupOwner: boolean; signalStrength?: number; } /** * WiFi Direct socket for data transmission */ export interface WiFiDirectSocket { peerId: string; connected: boolean; bytesTransferred: number; lastActivityTime: number; } /** * WiFi Direct Transport Handler * Wrapper around native WiFi Direct capabilities * * Supports higher MTU (1200+ bytes) than BLE (480 bytes) * Useful for batch transmission of intents */ export declare class WiFiDirectTransport { private connectedPeers; private readonly SOCKET_TIMEOUT; private readonly WIFI_MTU; constructor(_platform?: 'android' | 'ios'); /** * Check if WiFi Direct is available on device */ isAvailable(): Promise; /** * Enable WiFi Direct on device */ enable(): Promise; /** * Discover nearby WiFi Direct peers */ discoverPeers(timeoutSeconds?: number): Promise; /** * Connect to a specific WiFi Direct peer */ connectToPeer(deviceAddress: string): Promise; /** * Send intent via WiFi Direct connection * Uses larger MTU than BLE for efficiency */ sendIntent(socket: WiFiDirectSocket, intent: SolanaIntent): Promise<{ success: boolean; bytesTransferred: number; chunks: number; }>; /** * Send offline transaction via WiFi Direct */ sendOfflineTransaction(socket: WiFiDirectSocket, transaction: OfflineTransaction): Promise<{ success: boolean; bytesTransferred: number; chunks: number; }>; /** * Receive data from WiFi Direct peer */ receiveData(socket: WiFiDirectSocket, expectedChunks: number): Promise; /** * Disconnect from WiFi Direct peer */ disconnect(peerId: string): Promise; /** * Get all connected peers */ getConnectedPeers(): WiFiDirectSocket[]; /** * Get MTU size for this transport */ getMTU(): number; /** * Clean up expired connections */ cleanupExpiredConnections(): void; } /** * Smart transport selector * Automatically chooses best transport for given context */ export declare class SmartTransportSelector { private wifiDirect; constructor(); /** * Select best available transport for intent transmission * * Preference order: * 1. WiFi Direct (fastest, 1200 MTU) * 2. BLE (fallback, 480 MTU) */ selectTransport(): Promise<'wifi' | 'ble'>; /** * Check if WiFi Direct should be used * Factors: availability, proximity, battery level */ shouldUseWiFi(checkBattery?: boolean): Promise; } //# sourceMappingURL=wifi.d.ts.map