InterpolatorFactory
An Interpolator factory returns an interpolator function.
The first generic corresponds to the data type of the interpolation boundaries. The second generic corresponds to the data type of the return type of the interpolator.
interface InterpolatorFactory <T, U> {
(a: T, b: T): (t: number) => U;
}