import type { JsPbMessage, Unregisterable } from "./shared"; export interface GameRecording { /** * If `data` is deserialized, returns {@link CGameRecording_AudioSessionsChanged_Notification}. */ RegisterForAudioSessionsChanged(callback: (data: ArrayBuffer) => void): Unregisterable; SetAudioSessionCaptureState(id: string, name: string, state: boolean): void; } export interface AudioSession { id(): string | undefined; name(): string | undefined; is_system(): boolean | undefined; is_muted(): boolean | undefined; is_active(): boolean | undefined; is_captured(): boolean | undefined; recent_peak(): number | undefined; is_game(): boolean | undefined; is_steam(): boolean | undefined; is_saved(): boolean | undefined; } /** * @note Taken from https://github.com/SteamDatabase/SteamTracking/blob/master/Protobufs/steammessages_gamerecording_objects.proto */ export interface CGameRecording_AudioSessionsChanged_Notification extends JsPbMessage { sessions(): AudioSession[]; }