///
import { WebPlugin } from '@capacitor/core';
import type { MediaSessionPlugin } from './definitions';
declare type MediaSessionAction = 'previoustrack' | 'seekbackward' | 'play' | 'pause' | 'seekforward' | 'nexttrack' | 'seekto' | 'stop';
interface MediaMetadataInit {
title?: string;
artist?: string;
album?: string;
artwork?: Array<{
src: string;
sizes?: string;
type?: string;
}>;
}
declare global {
interface Navigator {
readonly mediaSession?: {
metadata: MediaMetadata | null;
playbackState: 'none' | 'paused' | 'playing';
setPositionState(state: {
duration?: number;
playbackRate?: number;
position?: number;
}): void;
setActionHandler(action: MediaSessionAction, handler: () => void): void;
};
}
class MediaMetadata {
constructor(init: MediaMetadataInit);
}
}
export declare class MediaSessionWeb extends WebPlugin implements MediaSessionPlugin {
setMetadata(options: {
title?: string;
artist?: string;
album?: string;
artwork?: Array<{
src: string;
}>;
}): Promise;
setPlaybackState(options: {
playbackState: 'none' | 'paused' | 'playing';
}): Promise;
setPositionState(options: {
duration?: number;
position?: number;
playbackRate?: number;
}): Promise;
setActionHandler(options: {
action: MediaSessionAction;
}): Promise;
}
export {};