import { type Ref } from "./invoke.js"; import { type NotificationConstructorOptions } from "@todesktop/client-electron-types"; import { type NamespaceEvents } from "./utils.js"; /** * Methods for interacting with ToDesktop notifications * * @remarks * This package exposes a number of methods that allow you to create and manipulate OS-level notifications. * * @experimental * @public * @packageDocumentation */ /** * Creates a new Notification. * * @param options - Notification constructor options. * @returns Identifier for the newly created Notification. * @public */ export declare function create(options: NotificationConstructorOptions): Promise; /** * Shows a notification to the user * * @param options - ref: Reference for the Notification. * @public */ export declare function show({ ref }: { ref: Ref; }): Promise; /** * Dismisses a notification that was shown to the user * * @param options - ref: Reference for the Notification. * @public */ export declare function close({ ref }: { ref: Ref; }): Promise; /** * Retrieves the title of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getTitle({ ref }: { ref: Ref; }): Promise; /** * Retrieves the subtitle of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getSubtitle({ ref }: { ref: Ref; }): Promise; /** * Retrieves the body of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getBody({ ref }: { ref: Ref; }): Promise; /** * Retrieves the reply placeholder of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getReplyPlaceholder({ ref, }: { ref: Ref; }): Promise; /** * Retrieves the sound of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getSound({ ref }: { ref: Ref; }): Promise; /** * Retrieves the close button text of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getCloseButtonText({ ref, }: { ref: Ref; }): Promise; /** * Retrieves whether the notification is silent. * * @param options - ref: Reference for the Notification. * @returns boolean. * @public */ export declare function getSilent({ ref }: { ref: Ref; }): Promise; /** * Retrieves whether the notification has a reply action. * * @param options - ref: Reference for the Notification. * @returns boolean. * @public */ export declare function getHasReply({ ref }: { ref: Ref; }): Promise; /** * Retrieves the urgency of the notification. Can be "normal", "critical", or "low". * Linux only. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getUrgency({ ref }: { ref: Ref; }): Promise; /** * Retrieves the type of timeout duration for the notification. Can be "default" or "never". * Linux and Windows only. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getTimeoutType({ ref }: { ref: Ref; }): Promise; interface NotificationAction { type: string; text?: string; } /** * Retrieves the actions of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getActions({ ref, }: { ref: Ref; }): Promise; /** * Retrieves the Toast XML of the notification. * * @param options - ref: Reference for the Notification. * @returns string. * @public */ export declare function getToastXml({ ref }: { ref: Ref; }): Promise; /** * @public */ export declare type NotificationEvents = NamespaceEvents<{ action: (index: number) => void; click: () => void; close: () => void; failed: (error: string) => void; reply: (reply: string) => void; show: () => void; }>; /** * Subcribes to an event on a notification object. * * @param eventName - The event name to subscribe to. * @param callback - The callback function to execute when the event occurs. * @param options - ref: Reference for the Notification. * @returns unsubscribe callback. * @public */ export declare const on: (eventName: E, callback: NamespaceEvents<{ action: (index: number) => void; click: () => void; close: () => void; failed: (error: string) => void; reply: (reply: string) => void; show: () => void; }>[E], args_0: { ref: import("@todesktop/client-util").InstanceRefObject; preventDefault?: boolean; }) => Promise<() => Promise>; /** * Unsubscribes all notification objects from the event name. * * @param options - ref: Reference for the Notification; eventName: The event name to unsubscribe from; * @returns Reference for the notification. * @public */ export declare const removeAllListeners: (eventName: E, args_0: { ref: import("@todesktop/client-util").InstanceRefObject; }) => Promise; export {};