type ROUTE_VERBS = "POST" | "GET" | "PUT" | "DELETE"
type FRAMEWORKS = "express"
type ENV = string

export interface IConfig {
    ENV: string
    root: string
    DATABASE_CONNECTION_SETINGS: {
        [key:string]: {    
            host: string
            db: string
            username: string
            password: string
            dialect: "mysql" | "mssql"
            port: number    
        }
    },
    ORM_GENERATE: {
        shouldGenerateServices: boolean
        caseSensitiveProps: string[]
        skipTables: string[]
        manyToManyIdentifiers: string[]
        lookup: {
            tableName: string
            identifier: string
        },
        pkIdentifier: string, 
        path: {
            daos: string
            services: string
            ormWrapper: string
            sequelizeConfig: string
            interface: string
            controllers: string
            env: string
            packageJSON: string
        }   
    }
    CRUD_GENERATE: {
        shouldGenerate: boolean
        framework: FRAMEWORKS
        ignoreTables: string[]   
    }
    
}