import type { _UNNotification } from "./UNNotification.js";
import type { _UNNotificationResponse } from "./UNNotificationResponse.js";
import type { _UNUserNotificationCenter } from "./UNUserNotificationCenter.js";
import type { UNNotificationPresentationOptions } from "./UNNotificationPresentationOptions.js";
export interface _UNUserNotificationCenterDelegate {
    /**
     * The method will be called on the delegate only if the application is in the foreground. If the method is not implemented or the handler is not called in a timely manner then the notification will not be presented. The application can choose to have the notification presented as a sound, badge, alert and/or in the notification list. This decision should be based on whether the information in the notification is otherwise visible to the user.
     */
    userNotificationCenter$willPresentNotification$withCompletionHandler$?(center: _UNUserNotificationCenter, notification: _UNNotification, completionHandler: (options: UNNotificationPresentationOptions) => void): void;
    /**
     * The method will be called on the delegate when the user responded to the notification by opening the application, dismissing the notification or choosing a UNNotificationAction. The delegate must be set before the application returns from application:didFinishLaunchingWithOptions:.
     */
    userNotificationCenter$didReceiveNotificationResponse$withCompletionHandler$?(center: _UNUserNotificationCenter, response: _UNNotificationResponse, completionHandler: () => void): void;
    /**
     * The method will be called on the delegate when the application is launched in response to the user's request to view in-app notification settings. Add UNAuthorizationOptionProvidesAppNotificationSettings as an option in requestAuthorizationWithOptions:completionHandler: to add a button to inline notification settings view and the notification settings view in Settings. The notification will be nil when opened from Settings.
     */
    userNotificationCenter$openSettingsForNotification$?(center: _UNUserNotificationCenter, notification: _UNNotification | null): void;
}
