import { NativeModules } from 'react-native'; export = RNTrackPlayer; export as namespace RNTrackPlayer; declare namespace RNTrackPlayer { // General export interface PlayerOptions { ratingType?: any; maxArtworkSize?: number; capabilities?: string[]; compactCapabilities?: string[]; icon?: number; playIcon?: number; pauseIcon?: number; stopIcon?: number; previousIcon?: number; nextIcon?: number; color?: number; stopWithApp?: boolean; } export function setupPlayer(options?: PlayerOptions): Promise; export function destroy(): void; export function updateOptions(options?: PlayerOptions): Promise; export type EventType = 'playback-state' | 'playback-error' | 'playback-queue-ended' | 'playback-track-changed' | 'remote-play' | 'remote-pause' | 'remote-stop' | 'remote-next' | 'remote-previous' | 'remote-jump-forward' | 'remote-jump-backward' type Handler = (type: EventType, ...args: any[]) => void; export function registerEventHandler(handler: Handler): void; // Player Queue Commands export interface Track { id: string; url: string|number; type?: string; contentType?: string; duration?: number; title: string; artist: string; album?: string; description?: string; genre?: string; date?: string; rating?: any; artwork?: string; sendUrl?: boolean; [key: string]: any; } export function add(tracks: Track|Track[], insertBeforeId?: string): Promise; export function remove(trackIds: String|String[]): Promise; export function skip(trackId: string): Promise; export function getQueue(): Promise; export function skipToNext(): Promise; export function skipToPrevious(): Promise; export function removeUpcomingTracks(): Promise; // Player Playback Commands export function reset(): Promise; export function play(): Promise; export function pause(): Promise; export function stop(): Promise; export function seekTo(time: number): Promise; export function setVolume(level: number): Promise; export function setRate(rate: number): Promise; // Player Getters export function getTrack(id: string): Promise; export function getCurrentTrack(): Promise; export function getVolume(): Promise; export function getDuration(): Promise; export function getPosition(): Promise; export function getBufferedPosition(): Promise; export function getState(): Promise; export function getRate(): Promise; }