longnum: number | bigint

These represent int64 and uint64. We accept both number (for small integer values) and bignum (up to min/max value). We output inconsistently (number if it fits in number; integer size is lost in serialization; apologies), so you should perhaps cast to bigint for consistency.