import { Component } from 'react'; import { ViewStyle, StyleProp } from 'react-native'; import type { CloudinaryVideo } from '@cloudinary/url-gen'; import { VideoPlayerAdapter } from './adapters'; export interface AdvancedVideoProps { videoUrl?: string; cldVideo?: CloudinaryVideo; videoStyle?: StyleProp; enableAnalytics?: boolean; autoTrackAnalytics?: boolean; onPlaybackStatusUpdate?: (status: any) => void; useNativeControls?: boolean; analyticsOptions?: { customData?: any; videoPlayerType?: string; videoPlayerVersion?: string; }; } interface AdvancedVideoState { analyticsConnector: any; previousStatus?: any; analyticsInitialized: boolean; videoAdapter: VideoPlayerAdapter; } export interface AdvancedVideoRef { startAnalyticsTracking: (metadata?: any, options?: any) => void; stopAnalyticsTracking: () => void; startAutoAnalyticsTracking: (options?: any) => void; addCustomEvent: (eventName: string, eventDetails?: any) => void; playAsync: () => Promise; pauseAsync: () => Promise; setIsMutedAsync: (isMuted: boolean) => Promise; setPositionAsync: (positionMillis: number) => Promise; setStatusAsync: (status: any) => Promise; } declare class AdvancedVideo extends Component { private videoRef; constructor(props: AdvancedVideoProps); componentDidMount(): Promise; componentDidUpdate(prevProps: AdvancedVideoProps): void; componentWillUnmount(): void; private getVideoUri; private initializeAnalytics; private onPlaybackStatusUpdate; startAnalyticsTracking: (metadata?: any, options?: any) => void; stopAnalyticsTracking: () => void; startAutoAnalyticsTracking: (options?: any) => void; addCustomEvent: (eventName: string, eventDetails?: any) => void; playAsync: () => Promise; pauseAsync: () => Promise; setIsMutedAsync: (isMuted: boolean) => Promise; setPositionAsync: (positionMillis: number) => Promise; setStatusAsync: (status: any) => Promise; render(): any; } export default AdvancedVideo; //# sourceMappingURL=AdvancedVideo.d.ts.map