import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../../wayfinder'
/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
export const index = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: index.url(options),
    method: 'get',
})

index.definition = {
    methods: ["get","head"],
    url: '/trip-planner',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
index.url = (options?: RouteQueryOptions) => {
    return index.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
index.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: index.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
index.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: index.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
const indexForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: index.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
indexForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: index.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\TripPlannerController::index
* @see app/Http/Controllers/TripPlannerController.php:18
* @route '/trip-planner'
*/
indexForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: index.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

index.form = indexForm

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner'
*/
const generated959b942dc927fbfdcb2055c958250cb = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: generated959b942dc927fbfdcb2055c958250cb.url(options),
    method: 'post',
})

generated959b942dc927fbfdcb2055c958250cb.definition = {
    methods: ["post"],
    url: '/trip-planner',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner'
*/
generated959b942dc927fbfdcb2055c958250cb.url = (options?: RouteQueryOptions) => {
    return generated959b942dc927fbfdcb2055c958250cb.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner'
*/
generated959b942dc927fbfdcb2055c958250cb.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: generated959b942dc927fbfdcb2055c958250cb.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner'
*/
const generated959b942dc927fbfdcb2055c958250cbForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: generated959b942dc927fbfdcb2055c958250cb.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner'
*/
generated959b942dc927fbfdcb2055c958250cbForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: generated959b942dc927fbfdcb2055c958250cb.url(options),
    method: 'post',
})

generated959b942dc927fbfdcb2055c958250cb.form = generated959b942dc927fbfdcb2055c958250cbForm
/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner/generate'
*/
const generateb1b391af0d54840929f9aa10868d0af2 = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: generateb1b391af0d54840929f9aa10868d0af2.url(options),
    method: 'post',
})

generateb1b391af0d54840929f9aa10868d0af2.definition = {
    methods: ["post"],
    url: '/trip-planner/generate',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner/generate'
*/
generateb1b391af0d54840929f9aa10868d0af2.url = (options?: RouteQueryOptions) => {
    return generateb1b391af0d54840929f9aa10868d0af2.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner/generate'
*/
generateb1b391af0d54840929f9aa10868d0af2.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: generateb1b391af0d54840929f9aa10868d0af2.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner/generate'
*/
const generateb1b391af0d54840929f9aa10868d0af2Form = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: generateb1b391af0d54840929f9aa10868d0af2.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\TripPlannerController::generate
* @see app/Http/Controllers/TripPlannerController.php:23
* @route '/trip-planner/generate'
*/
generateb1b391af0d54840929f9aa10868d0af2Form.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: generateb1b391af0d54840929f9aa10868d0af2.url(options),
    method: 'post',
})

generateb1b391af0d54840929f9aa10868d0af2.form = generateb1b391af0d54840929f9aa10868d0af2Form

export const generate = {
    '/trip-planner': generated959b942dc927fbfdcb2055c958250cb,
    '/trip-planner/generate': generateb1b391af0d54840929f9aa10868d0af2,
}

const TripPlannerController = { index, generate }

export default TripPlannerController