import { requireNativeModule } from 'expo-modules-core'; interface BitmovinPlayerReactNativeAnalyticsConvivaModule { initWithConfig( nativeId: string, playerNativeId: string | null, customerKey: string, gatewayUrl: string | null, debugLoggingEnabled: boolean ): Promise; attachPlayer(nativeId: string, playerNativeId: string): Promise; destroy(nativeId: string): Promise; release(nativeId: string): Promise; initializeSession(nativeId: string): Promise; endSession(nativeId: string): Promise; updateContentMetadata( nativeId: string, metadata: Record ): Promise; sendCustomApplicationEvent( nativeId: string, name: string, attributes: Record ): Promise; sendCustomPlaybackEvent( nativeId: string, name: string, attributes: Record ): Promise; reportPlaybackDeficiency( nativeId: string, message: string, severity: string, endSession: boolean ): Promise; pauseTracking(nativeId: string, isBumper: boolean): Promise; resumeTracking(nativeId: string): Promise; // Android only reportAppForegrounded(nativeId: string): Promise; reportAppBackgrounded(nativeId: string): Promise; // iOS only setPlayerViewRef(nativeId: string, playerViewRefId: number): Promise; resetPlayerViewRef(nativeId: string): Promise; } export default requireNativeModule( 'BitmovinPlayerReactNativeAnalyticsConviva' );