import { Logger } from "log4js";
import { Server } from "@hapi/hapi";
import { Request, ResponseToolkit, Lifecycle } from "@hapi/hapi";
import { Model, ModelCtor } from "Sequelize";

declare global {
    var server: Server;
    var logger: Logger;
    var loggerSite: Logger;
    var loggerSQL: Logger;
}

declare module '@hapi/hapi' {
    interface Request {
        getModel(name: string): ModelCtor<Model<any, any>>
    }
    interface ResponseToolkit {
        
    }
}

export declare type Req = Request
export declare type Res = ResponseToolkit
export declare type ReturnValue = Promise<Lifecycle.ReturnValue>