/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Microsoft Live Share SDK License. */ import { LiveShareRuntime } from "@microsoft/live-share"; import EventEmitter from "events"; import { IMediaPlayerState } from "../LiveMediaSessionCoordinator"; import { ExtendedMediaSessionPlaybackState, ExtendedMediaSessionAction, ExtendedMediaSessionActionSource } from "../MediaSessionExtensions"; import { GroupPlaybackTrack } from "./GroupPlaybackTrack"; import { IGroupStateEvent } from "./interfaces"; import { GroupPlaybackRate } from "./GroupPlaybackRate"; /** * @hidden */ export interface ITransportState { playbackState: ExtendedMediaSessionPlaybackState; startPosition: number; timestamp: number; clientId: string; } /** * @hidden */ export declare enum GroupTransportStateEvents { transportStateChange = "transportStateChange" } /** * @hidden */ export interface ITransportStateChangeEvent extends IGroupStateEvent { action: ExtendedMediaSessionAction; seekTime?: number; } /** * @hidden */ export declare class GroupTransportState extends EventEmitter { private readonly _getMediaPlayerState; private _track; private _playbackRate; private readonly _liveRuntime; private _current; constructor(track: GroupPlaybackTrack, playbackRate: GroupPlaybackRate, getMediaPlayerState: () => IMediaPlayerState, liveRuntime: LiveShareRuntime); get current(): Readonly; get playbackState(): ExtendedMediaSessionPlaybackState; get startPosition(): number; get timestamp(): number; get track(): GroupPlaybackTrack; compare(state: ITransportState): boolean; updateState(state: ITransportState, source: ExtendedMediaSessionActionSource): boolean; } //# sourceMappingURL=GroupTransportState.d.ts.map