import type { OrderProduct, OrderProductIdentity } from '../../../modules/Order/types';
import type { ProductData } from '../../../modules/Product/types';
export interface BaseProductDetailOptionItem {
    option_group_item_id?: number | string;
    option_group_id?: number | string;
    num?: number | string;
    quantity?: number | string;
    price?: number | string;
    add_price?: number | string;
    [key: string]: any;
}
export interface BaseProductDetailBundleItem {
    option?: BaseProductDetailOptionItem[];
    [key: string]: any;
}
export interface BaseProductDetailPayload {
    id?: number | string | null;
    product_id?: number | string | null;
    variant_id?: number | string | null;
    product_variant_id?: number | string | null;
    quantity?: number | string;
    num?: number | string;
    option?: BaseProductDetailOptionItem[];
    options?: BaseProductDetailOptionItem[];
    product_option_item?: BaseProductDetailOptionItem[];
    product_sku?: Record<string, any>;
    bundle?: BaseProductDetailBundleItem[];
    product_bundle?: BaseProductDetailBundleItem[];
    unique?: string;
    unique_identification_number?: string;
    session?: any;
    form?: any;
    service_times?: any;
    machine_code?: string;
    schedule_id?: number[];
    duration?: number;
    policy_id?: number;
    source_shop_id?: number;
    origin?: Record<string, any>;
    _origin?: Record<string, any>;
    price?: number | string;
    selling_price?: number | string;
    original_price?: number | string;
    tax_fee?: number | string;
    is_charge_tax?: number;
    note?: string;
    [key: string]: any;
}
export interface TransformBaseProductToOrderProductParams {
    payload: BaseProductDetailPayload;
    fallbackProductId?: number | string | null;
    sourceProduct?: ProductData | Record<string, any> | null;
    sourceItem?: ProductData | Record<string, any> | null;
}
export type BaseProductOrderProductInput = Partial<OrderProduct> & OrderProductIdentity & {
    _origin?: Record<string, any>;
};
/**
 * 将商品列表原始数据 + 商品详情选择回调转换成 OrderModule.addProductToOrder 入参。
 *
 * 注意：这里不生成 identity，缺省时由 OrderModule 自动补齐。
 */
export declare function transformBaseProductToOrderProduct(params: TransformBaseProductToOrderProductParams): BaseProductOrderProductInput | null;
