/**
 * `ref.init` 打开弹窗 — 新增模式（不含 callback，结果走 props.onConfirm）
 */
export interface NormalProductDetailModalCreateInitPayload {
    mode: 'create';
    productId: number;
    date: string;
    isEject: 0 | 1;
    productData?: any;
    onClose?: () => void;
}
/**
 * `ref.init` 打开弹窗 — 编辑模式
 */
export interface NormalProductDetailModalEditInitPayload {
    mode: 'edit';
    cacheItem: any;
    onClose?: () => void;
}
export declare type NormalProductDetailModalInitPayload = NormalProductDetailModalCreateInitPayload | NormalProductDetailModalEditInitPayload | Record<string, any>;
/** 编辑确认：与原先 edit 分支处理后的单行数据一致 */
export interface NormalProductDetailModalConfirmEditPayload {
    mode: 'edit';
    data: any;
}
/**
 * 新增确认：`data` 为 formatDataKey 后的对象（对齐原 create callback 首参）；
 * `detail` 为完整商品明细（对齐原 create callback 第三参）。
 */
export interface NormalProductDetailModalConfirmCreatePayload {
    mode: 'create';
    data: any;
    detail: any;
}
export declare type NormalProductDetailModalOnConfirmPayload = NormalProductDetailModalConfirmEditPayload | NormalProductDetailModalConfirmCreatePayload;
/**
 * 普通商品详情弹窗（SKU 详情）— 不依赖 Booking Context，通过 ref.init 与 props 通信。
 */
export interface NormalProductDetailModalProps {
    /** 确认提交：编辑 / 新增均只由此回调返回 */
    onConfirm?: (payload: NormalProductDetailModalOnConfirmPayload) => void;
    /** 弹窗内移除商品 */
    onRemove?: (productData: any) => void;
    /** 弹窗关闭（在 init.onClose 之后触发） */
    onClose?: () => void;
}
export interface NormalProductDetailModalRef {
    init: (payload: NormalProductDetailModalInitPayload) => void;
}
