Ao criar o NegociacaoService, conforme código a seguir:
import { Negociacao, NegociacaoParcial } from '../models/index';
export class NegociacaoService {
    obterNegociacoes(handler: Function): Promise<Negociacao[]> {
        return fetch('http://localhost:8080/dados')
            .then(res => handler(res))
            .then(res => res.json())
            .then((dados: NegociacaoParcial[]) => 
                dados
                    .map(dado => new Negociacao(new Date(), dado.vezes, dado.montante))
            )
        .catch(err => console.log(err));
    }
}
Estou recebendo o erro:
Type 'Promise<void | Negociacao[]>' is not assignable to type 'Promise<Negociacao[]>'.
  Type 'void | Negociacao[]' is not assignable to type 'Negociacao[]'.
    Type 'void' is not assignable to type 'Negociacao[]'.ts(2322)
E caso eu altere o tipo do Promise para Promise<void | Negociacao[]> eu passo a receber erro no NegociacaoController ao usar o NegociacaoService, conforme abaixo:
Property 'forEach' does not exist on type 'void | Negociacao[]'.
  Property 'forEach' does not exist on type 'void'.ts(2339)