export type ExpoBackgroundNotificationHandlerModule = { getAllPrefsAsync: () => Promise getBoolAsync: (forKey: string) => Promise getStringAsync: (forKey: string) => Promise getStringArrayAsync: (forKey: string) => Promise setBoolAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: boolean, ) => Promise setStringAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: string, ) => Promise setStringArrayAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: string[], ) => Promise addToStringArrayAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: string, ) => Promise removeFromStringArrayAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: string, ) => Promise addManyToStringArrayAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: string[], ) => Promise removeManyFromStringArrayAsync: ( forKey: keyof BackgroundNotificationHandlerPreferences, value: string[], ) => Promise } // TODO there are more preferences in the native code, however they have not been added here yet. // Don't add them until the native logic also handles the notifications for those preference types. export type BackgroundNotificationHandlerPreferences = { playSoundChat: boolean }