import { queryParams, type RouteQueryOptions, type RouteDefinition } from './../../../../../wayfinder'
/**
* @see \Website\Page\Http\Controllers\ApiPageController::index
* @see Website/Page/app/Http/Controllers/ApiPageController.php:22
* @route '/api/v1/public/pages'
*/
export const index = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: index.url(options),
    method: 'get',
})

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

/**
* @see \Website\Page\Http\Controllers\ApiPageController::index
* @see Website/Page/app/Http/Controllers/ApiPageController.php:22
* @route '/api/v1/public/pages'
*/
index.url = (options?: RouteQueryOptions) => {
    return index.definition.url + queryParams(options)
}

/**
* @see \Website\Page\Http\Controllers\ApiPageController::index
* @see Website/Page/app/Http/Controllers/ApiPageController.php:22
* @route '/api/v1/public/pages'
*/
index.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: index.url(options),
    method: 'get',
})

/**
* @see \Website\Page\Http\Controllers\ApiPageController::index
* @see Website/Page/app/Http/Controllers/ApiPageController.php:22
* @route '/api/v1/public/pages'
*/
index.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: index.url(options),
    method: 'head',
})

/**
* @see \Website\Page\Http\Controllers\ApiPageController::update
* @see Website/Page/app/Http/Controllers/ApiPageController.php:85
* @route '/api/v1/public/pages'
*/
export const update = (options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: update.url(options),
    method: 'put',
})

update.definition = {
    methods: ["put"],
    url: '/api/v1/public/pages',
} satisfies RouteDefinition<["put"]>

/**
* @see \Website\Page\Http\Controllers\ApiPageController::update
* @see Website/Page/app/Http/Controllers/ApiPageController.php:85
* @route '/api/v1/public/pages'
*/
update.url = (options?: RouteQueryOptions) => {
    return update.definition.url + queryParams(options)
}

/**
* @see \Website\Page\Http\Controllers\ApiPageController::update
* @see Website/Page/app/Http/Controllers/ApiPageController.php:85
* @route '/api/v1/public/pages'
*/
update.put = (options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: update.url(options),
    method: 'put',
})

const ApiPageController = { index, update }

export default ApiPageController