Como declarar os tipos de retorno para funções no TypeScript

Eu verifiquei aquihttps://github.com/Microsoft/TypeScript/blob/master/doc/spec.md qual é oEspecificações da linguagem TypeScript mas eu não pude ver uma coisa que como eu posso declarar um tipo de retorno da função. Mostrei o que estava esperando no código abaixo:greet(name:string) :string {}

class Greeter {
    greeting: string;
    constructor (message: string) {
        this.greeting = message;
    }
    greet() : string{
        return "Hello, " + this.greeting;
    }
}  

Vejo que podemos usar algo(name:string) => any mas eles são usados ​​principalmente ao passar funções de retorno de chamada:

function vote(candidate: string, callback: (result: string) => any) {
// ...
}

questionAnswers(4)

yourAnswerToTheQuestion