import { queryParams, type RouteQueryOptions, type RouteDefinition } from './../../wayfinder'
import academicCalendar from './academic-calendar'
import api from './api'
import academicYear from './academic-year'
import admissionform from './admissionform'
import admissionform from './admissionform'
import academic from './academic'
import instituteClass from './institute-class'
import program from './program'
import routine from './routine'
import subject from './subject'
import auth from './auth'
import menus from './menus'
import builder from './builder'
import publish from './publish'
import blog from './blog'
import notice from './notice'
import testimonial from './testimonial'
import gallery from './gallery'
import achievement from './achievement'
import teacher from './teacher'
import boardMember from './board-member'
import _upload from './ upload'
import products from './products'
import products from './products'
/**
* @see routes/api.php:37
* @route '/api/upload-image'
*/
export const uploadImage = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: uploadImage.url(options),
    method: 'post',
})

uploadImage.definition = {
    methods: ["post"],
    url: '/api/upload-image',
} satisfies RouteDefinition<["post"]>

/**
* @see routes/api.php:37
* @route '/api/upload-image'
*/
uploadImage.url = (options?: RouteQueryOptions) => {
    return uploadImage.definition.url + queryParams(options)
}

/**
* @see routes/api.php:37
* @route '/api/upload-image'
*/
uploadImage.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: uploadImage.url(options),
    method: 'post',
})

const apiNamespace = {
    uploadImage: Object.assign(uploadImage, uploadImage),
    academicCalendar: Object.assign(academicCalendar, academicCalendar),
    api: Object.assign(api, api),
    academicYear: Object.assign(academicYear, academicYear),
    admissionform: Object.assign(admissionform, admissionform),
    academic: Object.assign(academic, academic),
    instituteClass: Object.assign(instituteClass, instituteClass),
    program: Object.assign(program, program),
    routine: Object.assign(routine, routine),
    subject: Object.assign(subject, subject),
    auth: Object.assign(auth, auth),
    menus: Object.assign(menus, menus),
    builder: Object.assign(builder, builder),
    publish: Object.assign(publish, publish),
    blog: Object.assign(blog, blog),
    notice: Object.assign(notice, notice),
    testimonial: Object.assign(testimonial, testimonial),
    gallery: Object.assign(gallery, gallery),
    achievement: Object.assign(achievement, achievement),
    teacher: Object.assign(teacher, teacher),
    boardMember: Object.assign(boardMember, boardMember),
    upload: Object.assign(_upload, _upload),
    products: Object.assign(products, products),
}

export default apiNamespace