* }> * }> */ final class BalanceCollection implements Response { /** @var list */ public array $credits; /** * @param list $credits */ private function __construct(array $credits) { $this->credits = $credits; } /** * @param array{ * credits: list * }> * } $attributes */ public static function from(array $attributes): self { return new self(array_map( static fn (array $credit): BalanceEntry => BalanceEntry::from($credit), $attributes['credits'] )); } public function toArray(): array { return [ 'credits' => array_map( static fn (BalanceEntry $credit): array => $credit->toArray(), $this->credits ), ]; } }