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[];
}
