import * as react_jsx_runtime from 'react/jsx-runtime'; type NotificationType = "success" | "error" | "warning" | "info"; type NotificationVariant = "toast" | "alert" | "modal"; type NotificationPosition = "top" | "bottom" | "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right"; type SoundName = "success" | "error" | "warning" | "message" | "click" | "ringtone"; type ThemeName = "minimal" | "soft" | "sharp"; interface NotifyPayload { title?: string; message: string; type?: NotificationType; variant?: NotificationVariant; sound?: SoundName | string; volume?: number; duration?: number; position?: NotificationPosition; dismissible?: boolean; vibration?: boolean; delay?: number; actions?: NotificationAction[]; } interface NotificationAction { label: string; onPress: () => void; style?: "default" | "cancel" | "destructive"; } interface Notification extends Required> { id: string; createdAt: number; actions: NotificationAction[]; } interface NotifyConfig { volume: number; enabled: boolean; duration: number; position: NotificationPosition; soundEnabled: boolean; queue: boolean; maxVisible: number; theme: ThemeName; } interface SoundEngine { play(sound: SoundName | string, volume?: number): Promise; stop(): void; setVolume(volume: number): void; preload?(sounds: string[]): Promise; } type CustomRenderer = (notification: Notification, dismiss: () => void) => any; declare function setSoundEngine(engine: SoundEngine): void; declare function setRenderer(renderer: CustomRenderer | null): void; declare function dismiss(id: string): void; declare function dismissAll(): void; declare function getConfig(): NotifyConfig; declare function setConfig(partial: Partial): void; declare function setTheme(theme: ThemeName): void; declare function resetConfig(): void; declare function registerSound(name: string, path: string): void; declare function autoDetectSoundEngine(): void; declare function notify(payload: NotifyPayload): string; declare function useNotify(): { notifications: Notification[]; notify: (payload: NotifyPayload) => string; }; declare function NotifyRenderer(): react_jsx_runtime.JSX.Element | null; export { type CustomRenderer, type Notification, type NotificationPosition, type NotificationType, type NotificationVariant, type NotifyConfig, type NotifyPayload, NotifyRenderer, type SoundEngine, type SoundName, type ThemeName, autoDetectSoundEngine, dismiss, dismissAll, getConfig, notify, registerSound, resetConfig, setConfig, setRenderer, setSoundEngine, setTheme, useNotify };