import type { ViewStyle } from 'react-native'; export type ResizeMode = 'contain' | 'cover' | 'stretch'; export interface VideoSource { uri: string; headers?: { [key: string]: string; }; } export interface OnLoadData { duration: number; currentTime: number; naturalSize: { width: number; height: number; orientation: 'landscape' | 'portrait'; }; } export interface OnProgressData { currentTime: number; playableDuration: number; seekableDuration: number; } export interface OnErrorData { error: { errorString: string; errorException?: string; errorCode?: string; }; } export interface OnFrameUpdateData { viewBounds: { x: number; y: number; width: number; height: number; }; frameInWindow: { x: number; y: number; width: number; height: number; }; } export interface VideoDesktopProps { source: VideoSource; style?: ViewStyle; paused?: boolean; repeat?: boolean; rate?: number; volume?: number; muted?: boolean; controls?: boolean; seek?: number; resizeMode?: ResizeMode; poster?: string; posterResizeMode?: ResizeMode; onLoad?: (data: OnLoadData) => void; onProgress?: (data: OnProgressData) => void; onEnd?: () => void; onError?: (data: OnErrorData) => void; onBuffer?: (data: { isBuffering: boolean; }) => void; onReadyForDisplay?: () => void; onPlaybackStateChanged?: (data: { isPlaying: boolean; }) => void; onFrameUpdate?: (data: OnFrameUpdateData) => void; } //# sourceMappingURL=types.d.ts.map