Given a higher order function like the following:

function higherOrderFunction(a:number, b: number) {
    return (a: number): number => {
        return a*b
    }
} 

we can type the function return as a type

type HigherOrderFunction = (a:number) => number;

Our final result with typing:

type HigherOrderFunction = (a:number) => number;

function higherOrderFunction(b: number): HigherOrderFunction {
    return (a: number): number => {
        return a * b
    };
}