matrix-react-sdk
Version:
SDK for matrix.org using React
31 lines (30 loc) • 1.28 kB
TypeScript
import { MatrixClient, MatrixEvent, TypedEventEmitter } from "matrix-js-sdk/src/matrix";
import { VoiceBroadcastPlayback, VoiceBroadcastRecordingsStore } from "..";
import { IDestroyable } from "../../utils/IDestroyable";
export declare enum VoiceBroadcastPlaybacksStoreEvent {
CurrentChanged = "current_changed"
}
interface EventMap {
[VoiceBroadcastPlaybacksStoreEvent.CurrentChanged]: (recording: VoiceBroadcastPlayback | null) => void;
}
/**
* This store manages VoiceBroadcastPlaybacks:
* - access the currently playing voice broadcast
* - ensures that only once broadcast is playing at a time
*/
export declare class VoiceBroadcastPlaybacksStore extends TypedEventEmitter<VoiceBroadcastPlaybacksStoreEvent, EventMap> implements IDestroyable {
private recordings;
private current;
/** Playbacks indexed by their info event id. */
private playbacks;
constructor(recordings: VoiceBroadcastRecordingsStore);
setCurrent(current: VoiceBroadcastPlayback): void;
clearCurrent(): void;
getCurrent(): VoiceBroadcastPlayback | null;
getByInfoEvent(infoEvent: MatrixEvent, client: MatrixClient): VoiceBroadcastPlayback;
private addPlayback;
private onPlaybackStateChanged;
private pauseExcept;
destroy(): void;
}
export {};