You can always convert from vector to angle or vice-versa. You might want to run some tests and profile the running code to see which direction of conversion is faster, if that makes a difference.
Someone else here said you can't add or subtract a fixed angle from a vector. You actually can, of course, using matrix multiplication:
Addition of angle θ
x' = x cos θ - y sin θ
y' = y cos θ + x sin θ
Subtraction of angle θ
x' = x cos θ + y sin θ
y' = y cos θ - x sin θ
Whether or not that is faster than updating θ and rederiving x and y from θ is something you would have to execute in an actual program to know for sure, but in the case where θ is constant, it's very likely going to be faster.
That said, keeping angles as vectors will subject them to magnitude drift due to accumulated floating-point arithmentic rounding error which occurs during repeated iterations. So depending on how your library works, you may need to normalize your direction vector after each step or after every say 1000 steps. You don't want it to shrink to zero after a billion iterations, or grow to infinity. So the question is: Does your library automatically normalize your angle vector, or does it assume a magnitude of 1?
If you can afford the memory, it might be advantageous to store the angle both ways, updating both together, and then at any instant use whichever form is most convenient in your code.
If you can afford the CPU cycles, then in my experience it's easiest just to store the angle as a single value. Will you be applying angular acceleration to your angular velocity? If so, then that is another benefit to storing the information as an angle rather than a 2D vector.