How do I rotate the camera?

I am making a 3D spaceshooter where the camera changes from top-down to sidescrolling when i press a button. I have the code for moving it but I can’t get it to rotate correctly. It needs to rotate to -90 in the Y-axis.
This is my code for moving the camera ( very simply made )`

// Variables
Vector3 moveToPosition; // This is where the camera will move after the start
float speed = 0.05f; // this is the speed at which the camera moves
bool started = false; // stops the movement until we want it

// Functions
void Start()
{
    moveToPosition = new Vector3(10, 5, 4); 
}
void Update()
{
    if (Input.GetKeyDown("space"))
    {
        started = true;
        
    }
    // only want the movement to start when we decide
    if (!started)
        return;

    // Move the camera into position
    transform.position = Vector3.Lerp(transform.position, moveToPosition, speed);
}`

// Variables

// This is where the camera will move after the start
Vector3 endPosition;

// This is where the camera will move after the start
Quaternion endRotation;

// this is the speed at which the camera moves
float translationSpeed = 0.05f;

// this is the speed at which the camera rotates
float rotationSpeed = 0.05f;

// stops the movement until we want it
bool started = false;

// Functions
void Start()
{
    moveToPosition = new Vector3(10, 5, 4);
    endRotation = Quaternion.Euler(0, -90, 0) * transform.rotation;
    // OR the following, I can't remember
    // endRotation = transform.rotation * Quaternion.Euler(0, -90, 0);
}

void Update()
{
    if (Input.GetKeyDown("space"))
    {
        started = true;
    }
    // only want the movement to start when we decide
    if (!started)
        return;

    // Move the camera into position
    transform.position = Vector3.Lerp(transform.position, endPosition, translationSpeed);
    transform.rotation = Quaternion.Slerp(transform.rotation, transform.rotation, rotationSpeed);
}