Почему typescript не видит пременные окружения?
Читаем внимательно

Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
  Type 'undefined' is not assignable to type 'string'.
Разгадка
process.env.DB_NAME может быть типа string или undefined, так как не факт, что переменные определены, а то место, куда DB_NAME вставляется ожидает строго строку.

Решение
Нужно проверять значение process.env.DB_NAME до того как оно будет передано конструктору:
export const DB_NAME = process.env.DB_NAME ?? "default_database";

надо было просто вот так написать import { Sequelize } from 'sequelize-typescript';
export const db = new Sequelize(
          `${process.env.DB_NAME}`,
          `${process.env.DB_USER}` ,
          `${process.env.DB_PASSWORD}`,
          {
              host: 'localhost',      
              dialect: 'postgres', 
              models: [__dirname + 'models']
          }
);