Todavía estoy tratando de entender el texto mecanografiado, así que, por favor, perdóname, pero mis búsquedas no me han dado ninguna respuesta. Todos mis otros tipos han funcionado bien, pero no puedo entender cómo obtener el valor en style.setProperty(propertyName, value) para aceptar el número.
function setRotation(vari: HTMLElement , rotationRatio: number) { vari.style.setProperty('--rotation', rotationRatio * 360); }El argumento de tipo 'número' no se puede asignar al parámetro de tipo 'cadena | nulo

Se espera que un valor sea una cadena.
Se puede convertir en una cadena, por ejemplo:
vari.style.setProperty('--rotation', `${rotationRatio * 360}`);Prácticamente siempre es seguro proporcionar números a las funciones nativas que esperan cadenas, ya que están forzadas a cadenas internamente. También se puede convertir un tipo, se necesitan un poco más de caracteres en el código TS y un poco menos en JS compilado:
vari.style.setProperty('--rotation', (rotationRatio * 360) as unknown as string);