UNPKG

@steambrew/client

Version:
81 lines (72 loc) 2.47 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>; }