import { Key, ReactNode, Ref } from "react"; //#region src/plus/saleDetail/components/PromotionWalletPanels/index.d.ts type SaleDetailPromotionWalletPanelTone = 'default' | 'success' | 'warning' | 'danger'; type PromotionWalletPanelsAppearance = 'dark' | 'light'; interface SaleDetailPromotionWalletPanelAction { key: Key; label: ReactNode; onClick?: () => void; disabled?: boolean; tone?: 'default' | 'danger'; ariaLabel?: string; } interface SaleDetailPromotionWalletPanelMetaLine { key: Key; content: ReactNode; tone?: Exclude; } interface SaleDetailPromotionWalletPanelItem { key: Key; title: ReactNode; amountText?: ReactNode; metaLines?: SaleDetailPromotionWalletPanelMetaLine[]; reason?: ReactNode; applied?: boolean; locked?: boolean; disabled?: boolean; tone?: SaleDetailPromotionWalletPanelTone; action?: SaleDetailPromotionWalletPanelAction; /** 已应用勾选标记的点击行为;未传时保持只读标记。 */ onAppliedClick?: () => void; } interface SaleDetailPromotionWalletPanelGroup { key: Key; title?: ReactNode; items: SaleDetailPromotionWalletPanelItem[]; unavailableCount?: number; onUnavailableClick?: () => void; } interface SaleDetailPromotionWalletPanelConfig { /** 标题区域的动态状态文案;例如 Saved $3.50。 */ statusText?: ReactNode; /** 已应用数量;大于 0 时显示右侧徽标。 */ appliedCount?: number; /** 没有已应用项但存在可用项时显示提示点。 */ attention?: boolean; /** 面板内容由业务适配层提供,展示组件不读取或猜测接口字段。 */ content?: ReactNode; /** 常用操作区;未传 onClick 时以只读示例控件展示。 */ toolbarActions?: SaleDetailPromotionWalletPanelAction[]; /** 已标准化的展示 ViewModel,不代表后端接口结构。 */ groups?: SaleDetailPromotionWalletPanelGroup[]; defaultExpanded?: boolean; expanded?: boolean; onExpandedChange?: (expanded: boolean) => void; /** 折叠标题按钮引用;供同一业务容器内的到达动画定位。 */ summaryRef?: Ref; className?: string; } interface SaleDetailPromotionBannerConfig { title: ReactNode; description?: ReactNode; action?: SaleDetailPromotionWalletPanelAction; animated?: boolean; } interface PromotionWalletPanelsProps { /** 传 false 可隐藏 Promotion 面板。 */ promotion?: SaleDetailPromotionWalletPanelConfig | false; /** 传 false 可隐藏 Wallet Assets 面板。 */ walletAssets?: SaleDetailPromotionWalletPanelConfig | false; /** 面板配色;默认保持原有深色样式。 */ appearance?: PromotionWalletPanelsAppearance; /** Promotion 折叠区上方的促销引导横幅。 */ promotionBanner?: SaleDetailPromotionBannerConfig | false; className?: string; } //#endregion export { PromotionWalletPanelsProps };