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<void>;
/**
 * 加车同步逻辑前专用：在 Toast 已触发后 yield 一帧，保证 Toast 先于购物车刷新可见。
 * 与 `yieldForToastMount` 相同，语义上强调「仅阻塞 ~1 帧」，不拖住整段落库。
 *
 * @example
 * showAddToCartToast(Toast, 'Hash Brown', 1);
 * await yieldForToastPaintBeforeAdd();
 * await addProductDirect(...);
 */
export declare function yieldForToastPaintBeforeAdd(): Promise<void>;
/**
 * 首击 / 单次加车前：同步触发 Toast，yield 一帧后再开始加车。
 *
 * @example
 * await paintOptimisticAddToCartToast(Toast, 'Hash Brown', 1);
 * await addProductDirect(...);
 */
export declare function paintOptimisticAddToCartToast(Toast: AddToCartToastApi | null | undefined, title: string, quantity: number): Promise<void>;
/**
 * 连点合并：同步更新 Toast 数量（无后续同步加车阻塞主线程）。
 *
 * @example
 * scheduleOptimisticAddToCartToast(Toast, 'Hash Brown', 4);
 */
export declare function scheduleOptimisticAddToCartToast(Toast: AddToCartToastApi | null | undefined, title: string, quantity: number): void;
