/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Microsoft Live Share SDK License. */ import EventEmitter from "events"; import { IMediaPlayerState } from "../LiveMediaSessionCoordinator"; import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions"; import { IGroupStateEvent } from "./interfaces"; /** * @hidden */ export interface IPlaybackTrack { metadata: ExtendedMediaMetadata | null; waitPoints: CoordinationWaitPoint[]; timestamp: number; clientId: string; } /** * @hidden */ export declare enum GroupPlaybackTrackEvents { trackChange = "trackChange" } /** * @hidden */ export interface IPlaybackTrackChangeEvent extends IGroupStateEvent { metadata: ExtendedMediaMetadata | null; } /** * @hidden */ export declare class GroupPlaybackTrack extends EventEmitter { private readonly _getMediaPlayerState; private _current; constructor(getMediaPlayerState: () => IMediaPlayerState); get current(): Readonly; get metadata(): ExtendedMediaMetadata | null; addWaitPoint(waitPoint: CoordinationWaitPoint): boolean; findNextWaitPoint(lastWaitPoint: CoordinationWaitPoint | undefined): CoordinationWaitPoint | undefined; updateTrack(track: IPlaybackTrack, source: ExtendedMediaSessionActionSource): boolean; compare(metadata: ExtendedMediaMetadata | null): boolean; static compareMetadata(current: ExtendedMediaMetadata | null, metadata: ExtendedMediaMetadata | null): boolean; } //# sourceMappingURL=GroupPlaybackTrack.d.ts.map