import { EventEmitter } from '../../stencil-public-runtime'; import { PlaybackEventData } from '../../events.interface'; export declare class PdPlayer { /** * The Poductivity Episode ID. Either this or feedUrl and episodeGuid are required */ episodeId: string; /** * The Feed URL */ feedUrl: string; /** * The Episode GUID as specified in the feed */ episodeGuid: string; /** * Accent colour. Supply as any CSS supported colour format, eg. #ff0000 */ accentColor: string; /** * Should the player be horizontal? */ horizontal: boolean; /** * Specify the theme to use. Defaults to 'light'. */ theme: 'dark' | 'light' | 'poductivity'; /** * Use the Operating System's default UI font instead of * the Poductivity brand font */ useOsFont: boolean; /** * Enable Debug mode. For internal use only */ debug: boolean; /** * Emitted when playback is started or paused */ pdPlayback: EventEmitter; private episode; private isPlaying; private isBuffering; private currentTime; private playbackRate; private isLoading; private loadingFailed; private playError; private isSeeking; private audio; private client; private notesModal; private messagesElement; private optOutControl; private logger; private enablePrivacyControl; constructor(); componentWillLoad(): void; componentDidLoad(): void; componentDidRender(): void; get duration(): number; get durationFormatted(): string; get currentTimeFormatted(): string; get subtitle(): string; get title(): string; get ready(): boolean; get wrapperClasses(): string; /** * Begin or resume playback */ play(): Promise; /** * Pause playback */ pause(): Promise; /** * Either play or pause playback, depending on the current playback state */ togglePlay(): Promise; /** * Seek to a specific timestamp in seconds */ seekTo(timestamp: number | string, fastSeek?: boolean): Promise; /** * Seek to a timestamp relative to the current playback position in seconds */ seekRelative(seconds: number | string): Promise; /** * Show the episode notes panel */ setPlaybackRate(playbackRate: number): Promise; /** * Show the episode notes panel */ showEpisodeNotes(): Promise; /** * Hide the episode notes panel */ hideEpisodeNotes(): Promise; private setEpisodeParams; private onDataLoading; private onDataLoaded; private onDataLoadingFailed; private seekForward; private seekBack; private onTimeUpdate; private onPlaybackRateChanged; private onSeeking; private onSeeked; private onPlay; private onPlaying; private onBuffering; private onPause; private onPlaybackError; private getMediaMetadata; private updateMediaSessionState; private mediaSessionSeekBackward; private mediaSessionSeekForward; private mediaSessionSeekTo; private registerMediaSession; private addMediaSessionHandler; private cssVars; render(): any[]; }