delete(remotePath, notFoundOK = false, addListeners = true) {
    let listeners;
    return new Promise((resolve, reject) => {
      if (addListeners) {
        listeners = addTempListeners(this, 'delete', reject);
      }
      this.sftp.unlink(remotePath, (err) => {
        if (err) {
          if (notFoundOK && err.code === 2) {
            resolve(`Successfully deleted ${remotePath}`);
          } else {
            reject(this.fmtError(`${err.message} ${remotePath}`, 'delete', err.code));
          }
        }
        resolve(`Successfully deleted ${remotePath}`);
      });
    }).finally(() => {
      if (addListeners) {
        removeTempListeners(this, listeners, 'delete');
      }
    });
  }
@async

Delete a file on the remote SFTP server

@param {string} remotePath - path to the file to delete
@param {boolean} notFoundOK - if true, ignore errors for missing target.
                              Default is false.
@return {Promise<String>} with string 'Successfully deleted file' once resolved