import 'package:pshared/models/ledger/account.dart'; import 'package:pshared/models/payment/wallet.dart'; sealed class BalanceItem { const BalanceItem(); const factory BalanceItem.wallet(Wallet wallet) = WalletBalanceItem; const factory BalanceItem.ledger(LedgerAccount account) = LedgerBalanceItem; const factory BalanceItem.addAction() = AddBalanceActionItem; } final class WalletBalanceItem extends BalanceItem { final Wallet wallet; const WalletBalanceItem(this.wallet); } final class LedgerBalanceItem extends BalanceItem { final LedgerAccount account; const LedgerBalanceItem(this.account); } final class AddBalanceActionItem extends BalanceItem { const AddBalanceActionItem(); }