import { Assets } from '@wise/art'; import { ReactNode, MouseEvent } from 'react'; import type { AlertAction } from '../alert'; export declare const STORAGE_NAME = "dismissedNudges"; type MediaNameType = `${Assets.GLOBE}` | `${Assets.LOCK}` | `${Assets.WALLET}` | `${Assets.GEAR}` | `${Assets.INVITE_LETTER}` | `${Assets.PERSONAL_CARD}` | `${Assets.BUSINESS_CARD}` | `${Assets.HEART}` | `${Assets.MULTI_CURRENCY}` | `${Assets.SHOPPING_BAG}` | `${Assets.FLOWER}` | `${Assets.GIFT_BOX}` | `${Assets.BACKPACK}`; type BaseProps = { /** @deprecated Use `mediaName` property instead. */ media?: ReactNode; /** Media name */ mediaName?: MediaNameType; title: ReactNode; link?: ReactNode; href?: string; onClick?: (event?: MouseEvent) => void; /** Fired when the user clicks on close button */ onDismiss?: () => void; /** An optional call to action to sit under the main body of the nudge. If your label is short, use aria-label to provide more context */ action?: AlertAction; className?: string; }; export interface OptionalId extends BaseProps { id?: string; persistDismissal?: false; isPreviouslyDismissed?: undefined; } export interface RequiredPersistProps extends BaseProps { /** This ID should be completely unique to the page and feature as it uses a shared array which could conflict with other nudges in Wise */ id: string; /** Use persist dismissal to keep the nudge dismissed using the browser's localStorage */ persistDismissal: true; /** * Fired on mount for determining if nudge has been dismissed before * * @param {boolean} value - set to true if dismissed previously */ isPreviouslyDismissed?: (value: boolean) => void; } export type Props = OptionalId | RequiredPersistProps; declare const Nudge: ({ mediaName, title, link, href, onClick, onDismiss, persistDismissal, isPreviouslyDismissed, id, className, action, }: Props) => import("react").JSX.Element | null; export default Nudge; //# sourceMappingURL=Nudge.d.ts.map