react-native-vimeo-bridge
Version:
🎥 Easy-to-use Vimeo player for React Native with cross-platform support
40 lines • 1.92 kB
TypeScript
import { INTERNAL_SET_CONTROLLER_INSTANCE } from '../symbol';
import type { VimeoEmbedOptions } from '../types';
import type { EventCallback, VimeoPlayerEventMap } from '../types/vimeo';
import type WebVimeoPlayerController from './WebVimeoPlayerController';
import type WebviewVimeoPlayerController from './WebviewVimeoPlayerController';
declare class VimeoPlayer {
private listeners;
private source;
private options?;
private controller;
constructor(source: string | null | undefined, options?: VimeoEmbedOptions);
getSource(): string | null | undefined;
getOptions(): VimeoEmbedOptions | undefined;
getListeners(): Map<keyof VimeoPlayerEventMap, Set<EventCallback>>;
[INTERNAL_SET_CONTROLLER_INSTANCE](controller: WebviewVimeoPlayerController | WebVimeoPlayerController | null): void;
subscribe<T extends keyof VimeoPlayerEventMap>(eventType: T, callback: EventCallback<VimeoPlayerEventMap[T]>): () => void;
emit<T extends keyof VimeoPlayerEventMap>(eventType: T, data: VimeoPlayerEventMap[T]): void;
hasListeners<T extends keyof VimeoPlayerEventMap>(eventType: T): boolean;
dispose(): void;
play(): Promise<void>;
pause(): Promise<void>;
unload(): Promise<void>;
setCurrentTime(seconds: number): Promise<number>;
setVolume(volume: number): Promise<number>;
setMuted(muted: boolean): Promise<boolean>;
getCurrentTime(): Promise<number>;
getDuration(): Promise<number>;
getPlaybackRate(): Promise<number>;
setPlaybackRate(rate: number): Promise<number>;
getVideoId(): Promise<number>;
getVideoTitle(): Promise<string>;
getVideoWidth(): Promise<number>;
getVideoHeight(): Promise<number>;
getVideoUrl(): Promise<string>;
requestFullscreen(): Promise<void>;
exitFullscreen(): Promise<void>;
getFullscreen(): Promise<boolean>;
}
export default VimeoPlayer;
//# sourceMappingURL=VimeoPlayer.d.ts.map