@steambrew/client
Version:
A support library for creating plugins with Millennium.
65 lines (64 loc) • 2.62 kB
TypeScript
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 declare enum EChatFlashMode {
Always = 0,
Minimized = 1,
Never = 2
}
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>;
}