import type { ReactNode } from 'react'; import { Key, RefObject } from 'react'; import { NotifierConfig, NotifierData, RenderNotifier } from './typings'; export interface NotifierController { add: (notifier: N & { key: Key; }) => void; remove: (key: Key) => void; } export interface NotifierManagerProps extends Pick { controllerRef: RefObject | null>; defaultNotifiers?: (N & { key: Key; })[]; render: RenderNotifier; /** * Custom wrapper for rendered notifiers (e.g. AlertBanner group container). */ renderContainer?: (children: ReactNode) => ReactNode; /** * Sorting hook to enforce display/queue ordering before updates. */ sortBeforeUpdate?: (notifiers: (N & { key: Key; })[]) => (N & { key: Key; })[]; } declare function NotifierManager(props: NotifierManagerProps): string | number | bigint | boolean | Iterable | Promise> | Iterable | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined; export default NotifierManager;