import React from 'react'; import './showAddToCartToast.less'; export interface AddToCartToastApi { success?: (content: React.ReactNode) => void; } /** * 加车 Toast:商品名 +「已有 N 件」(复用 ticket-booking.in-cart 文案)。 */ export declare function showAddToCartToast(Toast: AddToCartToastApi | null | undefined, title: string, quantity: number): void; /** * 让出主线程,给 PisellToast `renderImperatively` 的 useEffect 执行 `setOpen(true)`。 * Toast 初始 open=false,若紧接着跑加车同步逻辑,视觉会拖到加车完成后才出现。 * * @example * await yieldForToastMount(); */ export declare function yieldForToastMount(): Promise; /** * 加车同步逻辑前专用:在 Toast 已触发后 yield 一帧,保证 Toast 先于购物车刷新可见。 * 与 `yieldForToastMount` 相同,语义上强调「仅阻塞 ~1 帧」,不拖住整段落库。 * * @example * showAddToCartToast(Toast, 'Hash Brown', 1); * await yieldForToastPaintBeforeAdd(); * await addProductDirect(...); */ export declare function yieldForToastPaintBeforeAdd(): Promise; /** * 首击 / 单次加车前:同步触发 Toast,yield 一帧后再开始加车。 * * @example * await paintOptimisticAddToCartToast(Toast, 'Hash Brown', 1); * await addProductDirect(...); */ export declare function paintOptimisticAddToCartToast(Toast: AddToCartToastApi | null | undefined, title: string, quantity: number): Promise; /** * 连点合并:同步更新 Toast 数量(无后续同步加车阻塞主线程)。 * * @example * scheduleOptimisticAddToCartToast(Toast, 'Hash Brown', 4); */ export declare function scheduleOptimisticAddToCartToast(Toast: AddToCartToastApi | null | undefined, title: string, quantity: number): void;