
import { NotificationsApi } from "./types.js";

//#region src/components/overlays/Notifications/use-notifications.d.ts
/**
 * Hook to display and manage notifications.
 *
 * Each hook instance acts as an owner scope:
 * - `notify()` created from this instance attaches ownership metadata.
 * - On unmount, all attached visible overlay notifications are dismissed.
 * - On unmount, all attached persistent records are also removed.
 * - `notify()`/`dismiss()` calls from stale closures after unmount are no-ops.
 *
 * @example
 * ```tsx
 * const { notify, record, dismiss } = useNotifications();
 *
 * notify({
 *   id: 'deploy:123',
 *   theme: 'success',
 *   title: 'Deployment completed',
 *   description: 'Version 1.4.2 is live.',
 *   actions: (
 *     <>
 *       <Notification.Action onPress={() => openLogs()}>View logs</Notification.Action>
 *       <Notification.Action onPress={() => openDeployment()}>Open</Notification.Action>
 *     </>
 *   ),
 * });
 *
 * // Store directly to persistent list (no overlay)
 * record({
 *   id: 'server:alert-1',
 *   theme: 'warning',
 *   title: 'Server alert',
 * });
 * ```
 */
declare function useNotifications(): NotificationsApi;
//#endregion
export { useNotifications };
//# sourceMappingURL=use-notifications.d.ts.map