UNPKG

@steambrew/client

Version:
81 lines (72 loc) 2.64 kB
import { VDFBoolean_t } from "./shared"; /** * Represents friend settings and configuration. */ export interface FriendSettings { /** * Retrieves a list of enabled friend settings features. * @returns an array of enabled friend settings features. */ GetEnabledFeatures(): Promise<FriendSettingsFeatureObject[]>; /** * Registers a callback function to be notified of friend settings changes. * @param callback The callback function to be called when friend settings change. * @remarks The callback receives a JSON object string which may be parsed into {@link FriendSettingsChange}. */ RegisterForSettingsChanges(callback: (settings: string) => void): void; /** * @param details Stringified {@link FriendSettingsChange}. */ SetFriendSettings(details: string): void; } export enum EChatFlashMode { Always, Minimized, Never, } export interface FriendSettingsFeatureObject { feature: FriendSettingsFeature_t; bEnabled: boolean; } export type FriendSettingsFeature_t = | "DoNotDisturb" | "FriendsFilter" | "LoaderWindowSynchronization" | "NewVoiceHotKeyState" | "NonFriendMessageHandling" | "PersonaNotifications" | "ServerVirtualizedMemberLists" | "SteamworksChatAPI"; export type FriendSettingsEnabledFeatures<T> = { [feature in FriendSettingsFeature_t]: T; }; export interface FriendSettingsChange { bNotifications_ShowIngame: VDFBoolean_t; bNotifications_ShowOnline: VDFBoolean_t; bNotifications_ShowMessage: VDFBoolean_t; bNotifications_EventsAndAnnouncements: VDFBoolean_t; bSounds_PlayIngame: VDFBoolean_t; bSounds_PlayOnline: VDFBoolean_t; bSounds_PlayMessage: VDFBoolean_t; bSounds_EventsAndAnnouncements: VDFBoolean_t; bAlwaysNewChatWindow: VDFBoolean_t; bForceAlphabeticFriendSorting: VDFBoolean_t; nChatFlashMode: EChatFlashMode; bRememberOpenChats: VDFBoolean_t; bCompactQuickAccess: VDFBoolean_t; bCompactFriendsList: VDFBoolean_t; bNotifications_ShowChatRoomNotification: VDFBoolean_t; bSounds_PlayChatRoomNotification: VDFBoolean_t; bHideOfflineFriendsInTagGroups: VDFBoolean_t; bHideCategorizedFriends: VDFBoolean_t; bCategorizeInGameFriendsByGame: VDFBoolean_t; nChatFontSize: number; b24HourClock: VDFBoolean_t; bDoNotDisturbMode: VDFBoolean_t; bDisableEmbedInlining: VDFBoolean_t; bSignIntoFriends: VDFBoolean_t; bDisableSpellcheck: VDFBoolean_t; bDisableRoomEffects: VDFBoolean_t; bAnimatedAvatars: VDFBoolean_t; featuresEnabled: FriendSettingsEnabledFeatures<VDFBoolean_t>; }