import { Event , ForegroundServiceTask , InitialNotification , Notification } from './Notification' ; import { Trigger } from './Trigger' ; import { AndroidChannel , AndroidChannelGroup , NativeAndroidChannel , NativeAndroidChannelGroup , } from './NotificationAndroid' ; import { IOSNotificationCategory , IOSNotificationSettings , IOSNotificationPermissions , } from './NotificationIOS' ; import { PowerManagerInfo } from './PowerManagerInfo' ; import { DisplayedNotification , TriggerNotification } from '..' ; export interface Module { /**
     * API used to cancel all notifications.
     *
     * The `cancelAllNotifications` API removes any displayed notifications from the users device and
     * any pending trigger notifications.
     *
     * This method does not cancel Android [Foreground Service](/react-native/docs/android/foreground-service)
     * notifications.
     */ cancelAllNotifications ( notificationIds ? ) : Promise < void > ; /**
     * API used to cancel any displayed notifications.
     *
     * This method does not cancel Android [Foreground Service](/react-native/docs/android/foreground-service)
     * notifications.
     */ cancelDisplayedNotifications ( notificationIds ? ) : Promise < void > ; /**
     * API used to cancel any trigger notifications.
     */ cancelTriggerNotifications ( notificationIds ? ) : Promise < void > ; param notificationId param tag cancelNotification ( notificationId , tag ? ) : Promise < void > ; param notificationId param tag cancelDisplayedNotification ( notificationId , tag ? ) : Promise < void > ; param notificationId cancelTriggerNotification ( notificationId ) : Promise < void > ; platform param channel createChannel ( channel ) : Promise < string > ; platform param channels createChannels ( channels ) : Promise < void > ; platform param channelGroup createChannelGroup ( channelGroup ) : Promise < string > ; platform param channelGroups createChannelGroups ( channelGroups ) : Promise < void > ; platform param channelId deleteChannel ( channelId ) : Promise < void > ; platform param channelGroupId deleteChannelGroup ( channelGroupId ) : Promise < void > ; param notification displayNotification ( notification ) : Promise < string > ; param notification param trigger createTriggerNotification ( notification , trigger ) : Promise < string > ; /**
     * API used to return the ids of trigger notifications that are pending.
     *
     * View the [Triggers](/react-native/docs/triggers) documentation for more information.
     */ getTriggerNotificationIds ( ) : Promise < string [ ] > ; /**
     * API used to return the notifications that are displayed.
     */ getDisplayedNotifications ( ) : Promise < DisplayedNotification [ ] > ; /**
     * API used to return the trigger notifications that are pending.
     */ getTriggerNotifications ( ) : Promise < TriggerNotification [ ] > ; platform param channelId getChannel ( channelId ) : Promise < NativeAndroidChannel | null > ; platform isChannelCreated ( channelId ) : Promise < boolean > ; platform isChannelBlocked ( channelId ) : Promise < boolean > ; platform getChannels ( ) : Promise < NativeAndroidChannel [ ] > ; platform param channelGroupId getChannelGroup ( channelGroupId ) : Promise < NativeAndroidChannelGroup | null > ; platform getChannelGroups ( ) : Promise < NativeAndroidChannelGroup [ ] > ; /**
     * API used to fetch the notification which causes the application to open.
     *
     * This API can be used to fetch which notification & press action has caused the application to
     * open. The call returns a `null` value when the application wasn't launched by a notification.
     *
     * Once the initial notification has been consumed by this API, it is removed and will no longer
     * be available. It will also be removed if the user relaunches the application.
     *
     * View the [App open events](/react-native/docs/events#app-open-events) documentation for more
     * information and example usage.
     *
     * Deprecated for iOS in favour of `onForegroundEvent` - you can still use this method on iOS
     * but you will also receive a `onForegroundEvent`
     */ getInitialNotification ( ) : Promise < InitialNotification | null > ; param observer onBackgroundEvent ( observer ) : void ; param observer onForegroundEvent ( observer ) : ( ) => void ; platform param channelId openNotificationSettings ( channelId ? ) : Promise < void > ; platform param task registerForegroundService ( task ) : void ; platform stopForegroundService ( ) : Promise < void > ; platform param permissions requestPermission ( permissions ? ) : Promise < IOSNotificationSettings > ; platform param categories setNotificationCategories ( categories ) : Promise < void > ; platform getNotificationCategories ( ) : Promise < IOSNotificationCategory [ ] > ; platform getNotificationSettings ( ) : Promise < IOSNotificationSettings > ; platform getBadgeCount ( ) : Promise < number > ; platform param count setBadgeCount ( count ) : Promise < void > ; platform param incrementBy incrementBadgeCount ( incrementBy ? ) : Promise < void > ; platform decrementBadgeCount ( decrementBy ? ) : Promise < void > ; platform openBatteryOptimizationSettings ( ) : Promise < void > ; platform isBatteryOptimizationEnabled ( ) : Promise < boolean > ; platform getPowerManagerInfo ( ) : Promise < PowerManagerInfo > ; platform openPowerManagerSettings ( ) : Promise < void > ; platform hideNotificationDrawer ( ) : void ; } /**
 * An interface describing the Android specific configuration properties for the `notifee.config.json` file.
 *
 * View the [License Keys](/react-native/docs/license-keys) documentation for more information.
 *
 * ```json
 * {
 *   "android": {
 *     "license": "..."
 *   }
 * }
 * ```
 */ export interface JsonConfigAndroid { /**
     * The license key created via the Notifee account section. A valid license is required
     * for production usage with Notifee.
     *
     * The license must match your App ID when created.
     */ license : string ; } /**
 * An interface describing the iOS specific configuration properties for the `notifee.config.json` file.
 *
 * View the [License Keys](/react-native/docs/license-keys) documentation for more information.
 *
 * ```json
 * {
 *   "ios": {
 *     "license": "..."
 *   }
 * }
 * ```
 */ export interface JsonConfigIOS { /**
     * The license key created via the Notifee account section. A valid license is required
     * for production usage with Notifee.
     *
     * The license must match your Bundle ID when created.
     */ license : string ; } /**
 * An interface describing the contents of a `notifee.config.json` file.
 *
 * View the [License Keys](/react-native/docs/license-keys) documentation for more information.
 *
 * ```json
 * {
 *   "android: {
 *     "license": "..."
 *   },
 *   "ios": {
 *     "license": "..."
 *   }
 * }
 * ```
 */ export interface JsonConfig { /**
     * Android specific Notifee configuration.
     */ android ? : JsonConfigAndroid ; /**
     * iOS specific Notifee configuration.
     */ ios ? : JsonConfigIOS ; } /**
 * Interface describing the static properties available on the default `@notifee/react-native` export.
 *
 * ```js
 * import notifee from `@notifee/react-native`;
 *
 * console.log(notifee.SDK_VERSION);
 * ```
 */ export interface ModuleStatics { /**
     * Returns the current Notifee SDK version in use.
     */ SDK_VERSION : string ; } export interface ModuleWithStatics extends Module , ModuleStatics { }