import type React from 'react'; import type { FinancialSummaryData } from '../types'; /** 与 PisellHierarchicalSummaryList items 结构兼容,避免从 @pisell/materials 导入类型时的 TS2709 */ export interface SummaryListItem { key?: React.Key; label: React.ReactNode; value?: React.ReactNode; children?: SummaryListItem[]; itemsCount?: React.ReactNode; infoTooltip?: React.ReactNode; extra?: React.ReactNode; } export interface BuildSummaryItemsOptions { /** 金额格式化 */ currencySymbol?: string; amountPrecision?: number; useThousandsSeparator?: boolean; hideDecimalForWholeNumbers?: boolean; /** 是否在 label 旁展示 N items */ showItemsCount?: boolean; /** 是否展示提示 icon(由 list item 的 infoTooltip 决定是否渲染) */ showInfoIcon?: boolean; /** 是否隐藏金额为 0 的行 */ hideZeroAmountRows?: boolean; /** 数据缺失时的占位 */ missingValuePlaceholder?: React.ReactNode; /** 标题与 N items 文案 */ getText: (key: string) => string; /** 标题覆盖(Balance Due / Total / Paid / Refund) */ titleBalanceDue?: React.ReactNode; titleTotal?: React.ReactNode; titlePaid?: React.ReactNode; titleRefund?: React.ReactNode; /** 是否显示 Total/Paid/Refund 区块 */ showTotal?: boolean; showPaid?: boolean; showRefund?: boolean; /** 为 true 时不把 Paid/Refund 加入 items(由上层注入带 expandedContent 的项,用于 Collapse 展示) */ skipPaidAndRefund?: boolean; } /** * 将 FinancialSummaryData 转为 PisellHierarchicalSummaryList 所需的 items */ export declare function buildSummaryItems(data: FinancialSummaryData, options: BuildSummaryItemsOptions): SummaryListItem[];