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}` | `${Assets.DOCUMENTS}`;
type BaseProps = {
    /** @deprecated Use `mediaName` property instead. */
    media?: ReactNode;
    /** Media name  */
    mediaName?: MediaNameType;
    title: ReactNode;
    link?: ReactNode;
    href?: string;
    onClick?: (event?: MouseEvent<HTMLSpanElement>) => 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