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