import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { // Reachability getReachability(): Promise; // Pairing & installation getIsPaired(): Promise; getIsWatchAppInstalled(): Promise; // Messages (converted from callbacks to Promises for TurboModule compat) sendMessage(message: Object): Promise; replyToMessageWithId(messageId: string, message: Object): void; // Message data sendMessageData(str: string, encoding: number): Promise; // Files transferFile(url: string, metaData: Object | null): Promise; getFileTransfers(): Promise; getQueuedFiles(): Promise; clearFilesQueue(): Promise; dequeueFile(ids: ReadonlyArray): void; // User info transferUserInfo(userInfo: Object): void; transferCurrentComplicationUserInfo(userInfo: Object): void; getQueuedUserInfo(): Promise; clearUserInfoQueue(): Promise; dequeueUserInfo(ids: ReadonlyArray): void; // Application context updateApplicationContext(context: Object): void; getApplicationContext(): Promise; // Event emitter (required for RCTEventEmitter compatibility) addListener(eventName: string): void; removeListeners(count: number): void; } export default TurboModuleRegistry.getEnforcing('WatchConnectivity');