import { queryParams, type RouteQueryOptions, type RouteDefinition, applyUrlDefaults } from './../../../../../wayfinder'
/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/api/v1/galleries'
*/
const indexfc39c94c5195548edfd087a55d0799eb = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: indexfc39c94c5195548edfd087a55d0799eb.url(options),
    method: 'get',
})

indexfc39c94c5195548edfd087a55d0799eb.definition = {
    methods: ["get","head"],
    url: '/api/v1/galleries',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/api/v1/galleries'
*/
indexfc39c94c5195548edfd087a55d0799eb.url = (options?: RouteQueryOptions) => {
    return indexfc39c94c5195548edfd087a55d0799eb.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/api/v1/galleries'
*/
indexfc39c94c5195548edfd087a55d0799eb.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: indexfc39c94c5195548edfd087a55d0799eb.url(options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/api/v1/galleries'
*/
indexfc39c94c5195548edfd087a55d0799eb.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: indexfc39c94c5195548edfd087a55d0799eb.url(options),
    method: 'head',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/galleries'
*/
const indexb9b470f03ba75eb0f22fbcaf5e78b4ed = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: indexb9b470f03ba75eb0f22fbcaf5e78b4ed.url(options),
    method: 'get',
})

indexb9b470f03ba75eb0f22fbcaf5e78b4ed.definition = {
    methods: ["get","head"],
    url: '/galleries',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/galleries'
*/
indexb9b470f03ba75eb0f22fbcaf5e78b4ed.url = (options?: RouteQueryOptions) => {
    return indexb9b470f03ba75eb0f22fbcaf5e78b4ed.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/galleries'
*/
indexb9b470f03ba75eb0f22fbcaf5e78b4ed.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: indexb9b470f03ba75eb0f22fbcaf5e78b4ed.url(options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::index
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:21
* @route '/galleries'
*/
indexb9b470f03ba75eb0f22fbcaf5e78b4ed.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: indexb9b470f03ba75eb0f22fbcaf5e78b4ed.url(options),
    method: 'head',
})

export const index = {
    '/api/v1/galleries': indexfc39c94c5195548edfd087a55d0799eb,
    '/galleries': indexb9b470f03ba75eb0f22fbcaf5e78b4ed,
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::store
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:72
* @route '/api/v1/galleries'
*/
const storefc39c94c5195548edfd087a55d0799eb = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storefc39c94c5195548edfd087a55d0799eb.url(options),
    method: 'post',
})

storefc39c94c5195548edfd087a55d0799eb.definition = {
    methods: ["post"],
    url: '/api/v1/galleries',
} satisfies RouteDefinition<["post"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::store
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:72
* @route '/api/v1/galleries'
*/
storefc39c94c5195548edfd087a55d0799eb.url = (options?: RouteQueryOptions) => {
    return storefc39c94c5195548edfd087a55d0799eb.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::store
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:72
* @route '/api/v1/galleries'
*/
storefc39c94c5195548edfd087a55d0799eb.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storefc39c94c5195548edfd087a55d0799eb.url(options),
    method: 'post',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::store
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:72
* @route '/galleries'
*/
const storeb9b470f03ba75eb0f22fbcaf5e78b4ed = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storeb9b470f03ba75eb0f22fbcaf5e78b4ed.url(options),
    method: 'post',
})

storeb9b470f03ba75eb0f22fbcaf5e78b4ed.definition = {
    methods: ["post"],
    url: '/galleries',
} satisfies RouteDefinition<["post"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::store
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:72
* @route '/galleries'
*/
storeb9b470f03ba75eb0f22fbcaf5e78b4ed.url = (options?: RouteQueryOptions) => {
    return storeb9b470f03ba75eb0f22fbcaf5e78b4ed.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::store
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:72
* @route '/galleries'
*/
storeb9b470f03ba75eb0f22fbcaf5e78b4ed.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storeb9b470f03ba75eb0f22fbcaf5e78b4ed.url(options),
    method: 'post',
})

export const store = {
    '/api/v1/galleries': storefc39c94c5195548edfd087a55d0799eb,
    '/galleries': storeb9b470f03ba75eb0f22fbcaf5e78b4ed,
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/api/v1/galleries/{gallery}'
*/
const showaea5661d56cf9422d2342ffd5ae3e657 = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: showaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'get',
})

showaea5661d56cf9422d2342ffd5ae3e657.definition = {
    methods: ["get","head"],
    url: '/api/v1/galleries/{gallery}',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/api/v1/galleries/{gallery}'
*/
showaea5661d56cf9422d2342ffd5ae3e657.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return showaea5661d56cf9422d2342ffd5ae3e657.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/api/v1/galleries/{gallery}'
*/
showaea5661d56cf9422d2342ffd5ae3e657.get = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: showaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/api/v1/galleries/{gallery}'
*/
showaea5661d56cf9422d2342ffd5ae3e657.head = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: showaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'head',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/galleries/{gallery}'
*/
const show5146354f4e4faee89ac0dca2dd8d5f3d = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: show5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'get',
})

show5146354f4e4faee89ac0dca2dd8d5f3d.definition = {
    methods: ["get","head"],
    url: '/galleries/{gallery}',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/galleries/{gallery}'
*/
show5146354f4e4faee89ac0dca2dd8d5f3d.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return show5146354f4e4faee89ac0dca2dd8d5f3d.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/galleries/{gallery}'
*/
show5146354f4e4faee89ac0dca2dd8d5f3d.get = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: show5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::show
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:88
* @route '/galleries/{gallery}'
*/
show5146354f4e4faee89ac0dca2dd8d5f3d.head = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: show5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'head',
})

export const show = {
    '/api/v1/galleries/{gallery}': showaea5661d56cf9422d2342ffd5ae3e657,
    '/galleries/{gallery}': show5146354f4e4faee89ac0dca2dd8d5f3d,
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/api/v1/galleries/{gallery}'
*/
const updateaea5661d56cf9422d2342ffd5ae3e657 = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: updateaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'put',
})

updateaea5661d56cf9422d2342ffd5ae3e657.definition = {
    methods: ["put","patch"],
    url: '/api/v1/galleries/{gallery}',
} satisfies RouteDefinition<["put","patch"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/api/v1/galleries/{gallery}'
*/
updateaea5661d56cf9422d2342ffd5ae3e657.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return updateaea5661d56cf9422d2342ffd5ae3e657.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/api/v1/galleries/{gallery}'
*/
updateaea5661d56cf9422d2342ffd5ae3e657.put = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: updateaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'put',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/api/v1/galleries/{gallery}'
*/
updateaea5661d56cf9422d2342ffd5ae3e657.patch = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'patch'> => ({
    url: updateaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'patch',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/galleries/{gallery}'
*/
const update5146354f4e4faee89ac0dca2dd8d5f3d = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: update5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'put',
})

update5146354f4e4faee89ac0dca2dd8d5f3d.definition = {
    methods: ["put","patch"],
    url: '/galleries/{gallery}',
} satisfies RouteDefinition<["put","patch"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/galleries/{gallery}'
*/
update5146354f4e4faee89ac0dca2dd8d5f3d.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return update5146354f4e4faee89ac0dca2dd8d5f3d.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/galleries/{gallery}'
*/
update5146354f4e4faee89ac0dca2dd8d5f3d.put = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: update5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'put',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::update
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:156
* @route '/galleries/{gallery}'
*/
update5146354f4e4faee89ac0dca2dd8d5f3d.patch = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'patch'> => ({
    url: update5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'patch',
})

export const update = {
    '/api/v1/galleries/{gallery}': updateaea5661d56cf9422d2342ffd5ae3e657,
    '/galleries/{gallery}': update5146354f4e4faee89ac0dca2dd8d5f3d,
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::destroy
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:176
* @route '/api/v1/galleries/{gallery}'
*/
const destroyaea5661d56cf9422d2342ffd5ae3e657 = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'delete'> => ({
    url: destroyaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'delete',
})

destroyaea5661d56cf9422d2342ffd5ae3e657.definition = {
    methods: ["delete"],
    url: '/api/v1/galleries/{gallery}',
} satisfies RouteDefinition<["delete"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::destroy
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:176
* @route '/api/v1/galleries/{gallery}'
*/
destroyaea5661d56cf9422d2342ffd5ae3e657.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return destroyaea5661d56cf9422d2342ffd5ae3e657.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::destroy
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:176
* @route '/api/v1/galleries/{gallery}'
*/
destroyaea5661d56cf9422d2342ffd5ae3e657.delete = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'delete'> => ({
    url: destroyaea5661d56cf9422d2342ffd5ae3e657.url(args, options),
    method: 'delete',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::destroy
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:176
* @route '/galleries/{gallery}'
*/
const destroy5146354f4e4faee89ac0dca2dd8d5f3d = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'delete'> => ({
    url: destroy5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'delete',
})

destroy5146354f4e4faee89ac0dca2dd8d5f3d.definition = {
    methods: ["delete"],
    url: '/galleries/{gallery}',
} satisfies RouteDefinition<["delete"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::destroy
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:176
* @route '/galleries/{gallery}'
*/
destroy5146354f4e4faee89ac0dca2dd8d5f3d.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return destroy5146354f4e4faee89ac0dca2dd8d5f3d.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::destroy
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:176
* @route '/galleries/{gallery}'
*/
destroy5146354f4e4faee89ac0dca2dd8d5f3d.delete = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'delete'> => ({
    url: destroy5146354f4e4faee89ac0dca2dd8d5f3d.url(args, options),
    method: 'delete',
})

export const destroy = {
    '/api/v1/galleries/{gallery}': destroyaea5661d56cf9422d2342ffd5ae3e657,
    '/galleries/{gallery}': destroy5146354f4e4faee89ac0dca2dd8d5f3d,
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::importMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:204
* @route '/galleries/import'
*/
export const importMethod = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: importMethod.url(options),
    method: 'get',
})

importMethod.definition = {
    methods: ["get","head"],
    url: '/galleries/import',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::importMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:204
* @route '/galleries/import'
*/
importMethod.url = (options?: RouteQueryOptions) => {
    return importMethod.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::importMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:204
* @route '/galleries/import'
*/
importMethod.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: importMethod.url(options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::importMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:204
* @route '/galleries/import'
*/
importMethod.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: importMethod.url(options),
    method: 'head',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::exportMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:196
* @route '/galleries/export'
*/
export const exportMethod = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: exportMethod.url(options),
    method: 'post',
})

exportMethod.definition = {
    methods: ["post"],
    url: '/galleries/export',
} satisfies RouteDefinition<["post"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::exportMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:196
* @route '/galleries/export'
*/
exportMethod.url = (options?: RouteQueryOptions) => {
    return exportMethod.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::exportMethod
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:196
* @route '/galleries/export'
*/
exportMethod.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: exportMethod.url(options),
    method: 'post',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::download
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:214
* @route '/galleries/download/{filename}'
*/
export const download = (args: { filename: string | number } | [filename: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: download.url(args, options),
    method: 'get',
})

download.definition = {
    methods: ["get","head"],
    url: '/galleries/download/{filename}',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::download
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:214
* @route '/galleries/download/{filename}'
*/
download.url = (args: { filename: string | number } | [filename: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { filename: args }
    }

    if (Array.isArray(args)) {
        args = {
            filename: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        filename: args.filename,
    }

    return download.definition.url
            .replace('{filename}', parsedArgs.filename.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::download
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:214
* @route '/galleries/download/{filename}'
*/
download.get = (args: { filename: string | number } | [filename: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: download.url(args, options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::download
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:214
* @route '/galleries/download/{filename}'
*/
download.head = (args: { filename: string | number } | [filename: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: download.url(args, options),
    method: 'head',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::bulkAction
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:0
* @route '/galleries/bulk-action'
*/
export const bulkAction = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: bulkAction.url(options),
    method: 'post',
})

bulkAction.definition = {
    methods: ["post"],
    url: '/galleries/bulk-action',
} satisfies RouteDefinition<["post"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::bulkAction
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:0
* @route '/galleries/bulk-action'
*/
bulkAction.url = (options?: RouteQueryOptions) => {
    return bulkAction.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::bulkAction
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:0
* @route '/galleries/bulk-action'
*/
bulkAction.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: bulkAction.url(options),
    method: 'post',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::updateStatus
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:222
* @route '/galleries/{id}/status'
*/
export const updateStatus = (args: { id: string | number } | [id: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: updateStatus.url(args, options),
    method: 'put',
})

updateStatus.definition = {
    methods: ["put"],
    url: '/galleries/{id}/status',
} satisfies RouteDefinition<["put"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::updateStatus
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:222
* @route '/galleries/{id}/status'
*/
updateStatus.url = (args: { id: string | number } | [id: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { id: args }
    }

    if (Array.isArray(args)) {
        args = {
            id: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        id: args.id,
    }

    return updateStatus.definition.url
            .replace('{id}', parsedArgs.id.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::updateStatus
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:222
* @route '/galleries/{id}/status'
*/
updateStatus.put = (args: { id: string | number } | [id: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: updateStatus.url(args, options),
    method: 'put',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::create
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:64
* @route '/galleries/create'
*/
export const create = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: create.url(options),
    method: 'get',
})

create.definition = {
    methods: ["get","head"],
    url: '/galleries/create',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::create
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:64
* @route '/galleries/create'
*/
create.url = (options?: RouteQueryOptions) => {
    return create.definition.url + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::create
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:64
* @route '/galleries/create'
*/
create.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: create.url(options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::create
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:64
* @route '/galleries/create'
*/
create.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: create.url(options),
    method: 'head',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::edit
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:125
* @route '/galleries/{gallery}/edit'
*/
export const edit = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: edit.url(args, options),
    method: 'get',
})

edit.definition = {
    methods: ["get","head"],
    url: '/galleries/{gallery}/edit',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::edit
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:125
* @route '/galleries/{gallery}/edit'
*/
edit.url = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === 'string' || typeof args === 'number') {
        args = { gallery: args }
    }

    if (Array.isArray(args)) {
        args = {
            gallery: args[0],
        }
    }

    args = applyUrlDefaults(args)

    const parsedArgs = {
        gallery: args.gallery,
    }

    return edit.definition.url
            .replace('{gallery}', parsedArgs.gallery.toString())
            .replace(/\/+$/, '') + queryParams(options)
}

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::edit
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:125
* @route '/galleries/{gallery}/edit'
*/
edit.get = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: edit.url(args, options),
    method: 'get',
})

/**
* @see \Website\Gallery\Http\Controllers\GalleryController::edit
* @see Website/Gallery/app/Http/Controllers/GalleryController.php:125
* @route '/galleries/{gallery}/edit'
*/
edit.head = (args: { gallery: string | number } | [gallery: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: edit.url(args, options),
    method: 'head',
})

const GalleryController = { index, store, show, update, destroy, importMethod, exportMethod, download, bulkAction, updateStatus, create, edit, import: importMethod, export: exportMethod }

export default GalleryController