import '@adonisjs/core/types/http'

type ParamValue = string | number | bigint | boolean

export type ScannedRoutes = {
  ALL: {
    'auth.register': { paramsTuple?: []; params?: {} }
    'auth.login': { paramsTuple?: []; params?: {} }
    'auth.logout': { paramsTuple?: []; params?: {} }
    'auth.me': { paramsTuple?: []; params?: {} }
    'menu-items.getAll': { paramsTuple?: []; params?: {} }
    'menu-items.getOne': { paramsTuple?: []; params?: {} }
    'menu-items.create': { paramsTuple?: []; params?: {} }
    'menu-items.update': { paramsTuple?: []; params?: {} }
    'menu-items.delete': { paramsTuple?: []; params?: {} }
    'menu-items.attach': { paramsTuple?: []; params?: {} }
    'menus.getAll': { paramsTuple?: []; params?: {} }
    'menus.getOne': { paramsTuple?: []; params?: {} }
    'menus.create': { paramsTuple?: []; params?: {} }
    'menus.update': { paramsTuple?: []; params?: {} }
    'menus.delete': { paramsTuple?: []; params?: {} }
    'categories.getAll': { paramsTuple?: []; params?: {} }
    'categories.getOne': { paramsTuple?: []; params?: {} }
    'categories.create': { paramsTuple?: []; params?: {} }
    'categories.update': { paramsTuple?: []; params?: {} }
    'categories.delete': { paramsTuple?: []; params?: {} }
    'users.getAll': { paramsTuple?: []; params?: {} }
    'users.create': { paramsTuple?: []; params?: {} }
    'users.getOne': { paramsTuple?: []; params?: {} }
    'users.update': { paramsTuple?: []; params?: {} }
    'users.delete': { paramsTuple?: []; params?: {} }
    'images.list': { paramsTuple?: []; params?: {} }
    'images.upload': { paramsTuple?: []; params?: {} }
    'images.show': { paramsTuple: [ParamValue]; params: {'filename': ParamValue} }
    'rooms.list': { paramsTuple?: []; params?: {} }
    'rooms.create': { paramsTuple?: []; params?: {} }
    'rooms.update': { paramsTuple?: []; params?: {} }
    'rooms.delete': { paramsTuple?: []; params?: {} }
    'reservations.index': { paramsTuple?: []; params?: {} }
    'reservations.store': { paramsTuple?: []; params?: {} }
    'reservations.update': { paramsTuple?: []; params?: {} }
    'reservations.destroy': { paramsTuple?: []; params?: {} }
  }
  POST: {
    'auth.register': { paramsTuple?: []; params?: {} }
    'auth.login': { paramsTuple?: []; params?: {} }
    'menu-items.getOne': { paramsTuple?: []; params?: {} }
    'menu-items.create': { paramsTuple?: []; params?: {} }
    'menu-items.attach': { paramsTuple?: []; params?: {} }
    'menus.getOne': { paramsTuple?: []; params?: {} }
    'menus.create': { paramsTuple?: []; params?: {} }
    'categories.getOne': { paramsTuple?: []; params?: {} }
    'categories.create': { paramsTuple?: []; params?: {} }
    'users.create': { paramsTuple?: []; params?: {} }
    'users.getOne': { paramsTuple?: []; params?: {} }
    'images.upload': { paramsTuple?: []; params?: {} }
    'rooms.create': { paramsTuple?: []; params?: {} }
    'reservations.store': { paramsTuple?: []; params?: {} }
  }
  DELETE: {
    'auth.logout': { paramsTuple?: []; params?: {} }
    'menu-items.delete': { paramsTuple?: []; params?: {} }
    'menus.delete': { paramsTuple?: []; params?: {} }
    'categories.delete': { paramsTuple?: []; params?: {} }
    'users.delete': { paramsTuple?: []; params?: {} }
    'rooms.delete': { paramsTuple?: []; params?: {} }
    'reservations.destroy': { paramsTuple?: []; params?: {} }
  }
  GET: {
    'auth.me': { paramsTuple?: []; params?: {} }
    'menu-items.getAll': { paramsTuple?: []; params?: {} }
    'menus.getAll': { paramsTuple?: []; params?: {} }
    'categories.getAll': { paramsTuple?: []; params?: {} }
    'users.getAll': { paramsTuple?: []; params?: {} }
    'images.list': { paramsTuple?: []; params?: {} }
    'images.show': { paramsTuple: [ParamValue]; params: {'filename': ParamValue} }
    'rooms.list': { paramsTuple?: []; params?: {} }
    'reservations.index': { paramsTuple?: []; params?: {} }
  }
  HEAD: {
    'auth.me': { paramsTuple?: []; params?: {} }
    'menu-items.getAll': { paramsTuple?: []; params?: {} }
    'menus.getAll': { paramsTuple?: []; params?: {} }
    'categories.getAll': { paramsTuple?: []; params?: {} }
    'users.getAll': { paramsTuple?: []; params?: {} }
    'images.list': { paramsTuple?: []; params?: {} }
    'images.show': { paramsTuple: [ParamValue]; params: {'filename': ParamValue} }
    'rooms.list': { paramsTuple?: []; params?: {} }
    'reservations.index': { paramsTuple?: []; params?: {} }
  }
  PUT: {
    'menu-items.update': { paramsTuple?: []; params?: {} }
    'menus.update': { paramsTuple?: []; params?: {} }
    'categories.update': { paramsTuple?: []; params?: {} }
    'users.update': { paramsTuple?: []; params?: {} }
    'rooms.update': { paramsTuple?: []; params?: {} }
    'reservations.update': { paramsTuple?: []; params?: {} }
  }
}
declare module '@adonisjs/core/types/http' {
  export interface RoutesList extends ScannedRoutes {}
}