One of ChatGPTs answer.
To handle custom properties like description and versionNumber, you can cast item to your CamsComboBoxItem type:
<ComboBox
titleText="Contact"
placeholder="Select contact method"
let:item
let:index
items={items}
selectedId={1}
{itemToString}
>
<div title={(item as CamsComboBoxItem).description}>
<strong>{(item as CamsComboBoxItem).name}</strong>
</div>
<div>
Version Number: {(item as CamsComboBoxItem).versionNumber}
</div>
<div>
index: {item.id}
</div>
</ComboBox>
This approach explicitly informs TypeScript that item can have additional properties like description and versionNumber. Type assertions (as CamsComboBoxItem) ensure compatibility without changing the underlying ComboBoxItem type definition.