erro: A propriedade 'getChildren' não existe no tipo 'DataSnapshot'

... Faz na documentação P:

I import * as firebase from "firebase"; na parte superior do arquivo. A função uid-fetching funciona. Ele não gosta da sintaxe do loop for por algum motivo ...

Eu também tentei a sintaxe:for (DataSnapshot child : parent.getChildren()) { } e o compilador informa que é esperado um ponto-e-vírgula na linha em que o loop for é iniciado.

getMessages() {
    return new Promise(function (resolve) {
        return firebase.auth().onAuthStateChanged(function (user) {
            if (user) {
                resolve(user.uid);
            }
        });
    }).then((result) => {
        return firebase.database().ref('mailboxes/' + result).once('value').then((snapshot) => {
            let messageArray;
            for (let snap of snapshot.getChildren()) {
                messageArray.push(snap.val());
                console.log('snapshot key:' + snap.key);
                console.log('snapshot val:' + snap.val());
            };
            return messageArray;
        });
    });
}

questionAnswers(1)

yourAnswerToTheQuestion