import type { ILoadProductsParams } from '../types';
/** 新建 / 编辑 Tab 共用的「业务参数」骨架 */
export interface DemoFixtureMutable {
    /** 透传给 bookingTicket.loadProducts 的查询条件 */
    loadProductsParams: ILoadProductsParams;
    /** 选客户用：缺省则取 customer.list[0]；填了 id 则走 customer.loadById(id) */
    customerId?: number | string;
    /** 加车用：从 products.load 结果里挑一个商品 + variant + 数量 */
    productPicker: {
        /** 缺省 = products.products[0].id */
        productId?: number;
        /** 缺省 = 0 */
        variantIndex?: number;
        /** 缺省 = 1 */
        num?: number;
    };
}
export interface DemoFixtureDetail {
    orderId: number;
}
export interface DemoFixtureCreate extends DemoFixtureMutable {
}
/** 编辑态 tempOrder 元数据（setOrderNote / setShopDiscount / setContactsInfo） */
export interface DemoFixtureOrderMeta {
    /** 透传 sales.setOrderNote；缺省不执行该步骤 */
    orderNote?: string;
    /** 透传 sales.setShopDiscount；缺省不执行该步骤 */
    shopDiscount?: string | number;
    /** 透传 sales.setContactsInfo；缺省不执行该步骤；显式 null 表示清空 */
    contactsInfo?: Record<string, any> | null;
}
export interface DemoFixtureEdit extends DemoFixtureMutable, DemoFixtureOrderMeta {
    orderId: number;
}
export declare const FIXTURE_DETAIL: DemoFixtureDetail;
export declare const FIXTURE_CREATE: DemoFixtureCreate;
export declare const FIXTURE_EDIT: DemoFixtureEdit;
export declare function mergeMutableFixture<T extends DemoFixtureMutable>(base: T, override: Partial<T> | undefined): T;
export declare function mergeDetailFixture(base: DemoFixtureDetail, override: Partial<DemoFixtureDetail> | undefined): DemoFixtureDetail;
