/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Microsoft Live Share SDK License. */ import { IMediaPlayerState } from "../LiveMediaSessionCoordinator.js"; import { CoordinationWaitPoint, ExtendedMediaMetadata, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions.js"; import { IGenericTypedEvents, IGroupStateEvent } from "./interfaces.js"; import { TypedEventEmitter } from "@fluid-internal/client-utils"; /** * @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 TypedEventEmitter { 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