You're building a TypeScript generic `Ledger<T>` class for financial records. Which constraint ensures T always has an `id` and `amount` property?
-
A
class Ledger<T extends object>
-
B
class Ledger<T implements {id: any; amount: number}>
-
C
class Ledger<T extends {id: any; amount: number}>
-
D
class Ledger<T = {id: any; amount: number}>