import { Device } from 'react-native-ble-plx'; import type { TossUser } from './types/tossUser'; import type { SolanaIntent } from './intent'; import type { OfflineTransaction } from './types/nonceAccount'; export declare function requestBLEPermissions(): Promise; export declare function startTossScan(onUserFound: (user: TossUser, device: Device) => void, onIntentFound: (intent: SolanaIntent, device: Device) => void, onOfflineTransactionFound?: (tx: OfflineTransaction, device: Device) => void): void; export declare function advertiseUser(user: TossUser): Promise; export declare function stopAdvertising(): Promise; export declare function sendIntentToDevice(deviceId: string, intent: SolanaIntent): Promise; /** * Send fragmented offline transaction over BLE with Noise Protocol encryption * Automatically handles MTU limitations and retries */ export declare function sendOfflineTransactionFragmented(device: Device, transaction: OfflineTransaction | SolanaIntent, noiseEncryptFn?: (data: Uint8Array) => Promise, isIntent?: boolean): Promise<{ success: boolean; sentFragments: number; failedFragments: number[]; messageId: string; }>; /** * Receive and reassemble fragmented message from BLE */ export declare function receiveOfflineTransactionFragment(fragment: any, noiseDecryptFn?: (encrypted: any) => Promise): Promise<{ complete: boolean; transaction?: OfflineTransaction | SolanaIntent; progress: { received: number; total: number; }; }>; /** * Get current BLE MTU configuration */ export declare function getBLEMTUConfig(): import(".").BLEMTUConfig; /** * Set custom BLE MTU configuration */ export declare function setBLEMTUConfig(config: Partial): void; //# sourceMappingURL=ble.d.ts.map