import * as react_jsx_runtime from 'react/jsx-runtime'; import { OwnershipOwner, AddressOption } from './form-primitives.mjs'; type AssetOwner = OwnershipOwner; type AssetItem = { id: string; /** Summary label shown in the collapsed row (address for a property). */ description: string; estimatedValue: number; /** Secondary line in the collapsed row (e.g. "Owner Occupied"). */ subLabel?: string; address?: string; category?: "owner-occupier" | "investment" | ""; rentalIncome?: number; rentalIncomeFrequency?: "monthly" | "weekly"; hasMortgage?: boolean; mortgageOwing?: number; mortgageOriginal?: number; mortgageRepayment?: number; mortgageRepaymentFrequency?: "monthly" | "weekly"; mortgageInterestRate?: number; owners?: AssetOwner[]; }; type AssetGroup = { assetType: string; label: string; items: AssetItem[]; }; type AssetAccordionProps = { groups: AssetGroup[]; /** Which group values are expanded (controlled). */ openGroups?: string[]; onToggleGroup?: (assetType: string) => void; /** Create/update an item. `item.id === ""` means a newly-added item. */ onSaveItem?: (assetType: string, item: AssetItem) => void; onDeleteItem?: (assetType: string, itemId: string) => void; /** Applicants used to seed the ownership split on a new item. */ owners?: AssetOwner[]; /** Address suggestions for the property autocomplete. */ addressSuggestions?: AddressOption[]; /** Accessible label for the accordion landmark region. */ "aria-label"?: string; className?: string; }; declare function AssetAccordion({ groups, openGroups, onToggleGroup, onSaveItem, onDeleteItem, owners, addressSuggestions, "aria-label": ariaLabel, className, }: AssetAccordionProps): react_jsx_runtime.JSX.Element; export { AssetAccordion, type AssetAccordionProps, type AssetGroup, type AssetItem, type AssetOwner };