import type { HybridObject } from "react-native-nitro-modules"; import type { CastLoadRequest, OmniEvents } from "../types/events"; import type { CastStatus, OmniPlayerState, OmniPlayer as OmniPlayerT, PlayerBackend, PlayerStatus, Rendition, Track } from "../types/player"; import type { CastOptions, Source } from "../types/source"; export type NumberProperty = Exclude; export type BoolProperty = "isPlaying" | "muted" | "isAutoQuality"; export type TrackProperty = "videos" | "audios" | "subtitles"; export interface OmniEventMap extends HybridObject<{ android: "kotlin"; }> { addStateListener(key: NumberProperty, cb: (value: number) => void): () => void; addStateBoolListener(key: BoolProperty, cb: (value: boolean) => void): () => void; addPlayerStatusListener(cb: (value: PlayerStatus) => void): () => void; addCastStatusListener(cb: (value: CastStatus) => void): () => void; addSourceListener(cb: (value?: Source) => void): () => void; addTracksListener(key: TrackProperty, cb: (value: Track[]) => void): () => void; addRenditionsListener(cb: (value: Rendition[]) => void): () => void; addOnEndListener(cb: OmniEvents["end"]): () => void; addOnPrevListener(cb: OmniEvents["prev"]): () => void; addOnNextListener(cb: OmniEvents["next"]): () => void; addOnErrorListener(cb: OmniEvents["error"]): () => void; addOnAudioFocusChangeListener(cb: OmniEvents["audioFocusChange"]): () => void; addOnVideoTrackChangeListener(cb: OmniEvents["videoTrackChange"]): () => void; addOnAudioTrackChangeListener(cb: OmniEvents["audioTrackChange"]): () => void; addOnSubtitleChangeListener(cb: OmniEvents["subtitleChange"]): () => void; addOnRenditionChangeListener(cb: OmniEvents["renditionChange"]): () => void; } export interface OmniPlayer extends HybridObject<{ android: "kotlin"; }>, OmniPlayerT { readonly eventMap: OmniEventMap; abandon(): void; } export interface OmniPlayerFactory extends HybridObject<{ android: "kotlin"; }> { createPlayer(backend?: PlayerBackend, cast?: CastOptions): OmniPlayer; addCastLoadListener(cb: (request: CastLoadRequest) => Promise): () => void; } //# sourceMappingURL=omni-player.nitro.d.ts.map