It’s declaring several typedefs at once, just as you can declare several variables at once. They are all types based on int, but some are modified into compound types.
Let’s break it into separate declarations:
typedef int int_t; // simple int
typedef int *intp_t; // pointer to int
typedef int (&fp)(int, ulong); // reference to function returning int
typedef int arr_t[10]; // array of 10 ints