import { Logger } from "log4js" import { Server } from "@hapi/hapi" import { Request, ResponseToolkit, Lifecycle } from "@hapi/hapi" import { TUserModel } from "@/models/user" import { TColorModel } from "@/models/color" import yar from "@hapi/yar" import { TAttachmentModel } from "@/models/Attachment" declare global { var server: Server var logger: Logger var loggerSite: Logger var loggerSQL: Logger } interface Models { user: TUserModel color: TColorModel attachment: TAttachmentModel } declare module "sequelize" { namespace Model { export let associate: (models: Models) => void } } declare module "@hapi/hapi" { interface Request { getModel(name: T): M yar: yar.Yar } interface Server { yar: yar.ServerYar } interface ResponseToolkit {} } export declare type Req = Request export declare type Res = ResponseToolkit export declare type ReturnValue = Promise