import type React from 'react'; import type { BaseResponsiveProps } from '../../responsive/type'; import type { ILoadProductsParams, SalesSdkBookingContextValue, SalesSdkCartContextValue, SalesSdkContextValue, SalesSdkCustomerContextValue, SalesSdkProductsContextValue, SalesSdkProviderProps, SalesSdkSummaryContextValue } from '../../plus/salesSdk'; import type { SaleDetailModuleConfig, SaleDetailTemplate } from '../../plus/saleDetail/types'; import type { TicketBookingSecondaryDisplayConfig } from '../ticketBooking/components/ticketBooking/useTicketBookingSecondaryScreen'; import type { ProductDisplayConfig, ProductDisplayPresetKey } from '../ticketBooking/components/ProductDisplayAdapter'; export declare type BigSaleMode = 'ticket' | 'retail'; export declare type BigSaleTemplate = 'standard' | 'secondaryScreen'; export interface BigSaleContext { sales: SalesSdkContextValue; products: SalesSdkProductsContextValue; customer: SalesSdkCustomerContextValue; cart: SalesSdkCartContextValue; summary: SalesSdkSummaryContextValue; booking: SalesSdkBookingContextValue; } export interface BigSaleBaseProps extends BaseResponsiveProps { mode?: BigSaleMode; tmpl?: BigSaleTemplate; template?: BigSaleTemplate; productLoadParams?: ILoadProductsParams; productDisplayConfig?: ProductDisplayPresetKey | ProductDisplayConfig; saleDetailTemplate?: SaleDetailTemplate; autoCreate?: boolean; orderId?: SalesSdkProviderProps['orderId']; locale?: string; /** 副屏场景下包裹 saleDetail 区域的额外属性(缩放、连点手势等) */ saleDetailWrapperProps?: React.HTMLAttributes & { id?: string; }; /** 副屏购物车每行展示几个商品;未传或 <=1 时保持单列 */ cartProductsPerRow?: number; /** 是否在 SaleDetail 中渲染客户信息(默认 true) */ showClient?: boolean; } export interface BigSaleProps extends Omit, Pick { osKey?: SalesSdkProviderProps['osKey']; secondaryScreenDisplay?: TicketBookingSecondaryDisplayConfig; children?: React.ReactNode; } export interface BigSaleTemplateRendererProps { context: BigSaleContext; mode: BigSaleMode; tmpl?: BigSaleTemplate; variant: string; productLoadParams?: ILoadProductsParams; productDisplayConfig?: ProductDisplayPresetKey | ProductDisplayConfig; saleDetailTemplate?: SaleDetailTemplate; saleDetailModuleConfig?: SaleDetailModuleConfig; orderId?: SalesSdkProviderProps['orderId']; locale?: string; /** 仅 secondaryScreen 模板会消费;标准模板忽略 */ saleDetailWrapperProps?: React.HTMLAttributes & { id?: string; }; } export declare type BigSaleTemplateProps = Omit;