def amount_object_to_dict(self, amount):
        """Return the dictionary representation of an Amount object.

        Amount object must have amount and currency properties and as_tuple method which will return (currency, amount)
        and as_quantized method to quantize amount property.

        :param amount: instance of Amount object

        :return: dict with amount and currency keys.
        """
        currency, amount = (
            amount.as_quantized(digits=2).as_tuple()
            if not isinstance(amount, dict)
            else (amount["currency"], amount["amount"])
        )
        if currency not in self.currencies:
            raise ValueError(self.err_unknown_currency.format(currency=currency))
        return {
            "amount": str(amount),
            "currency": str(currency),
        }
Return the dictionary representation of an Amount object.

        Amount object must have amount and currency properties and as_tuple method which will return (currency, amount)
        and as_quantized method to quantize amount property.

        :param amount: instance of Amount object

        :return: dict with amount and currency keys.