import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../wayfinder'
/**
* @see vendor/laravel/mcp/src/Server/Registrar.php:29
* @route '/mcp/trip-planning'
*/
export const tripPlanning = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: tripPlanning.url(options),
    method: 'post',
})

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

/**
* @see vendor/laravel/mcp/src/Server/Registrar.php:29
* @route '/mcp/trip-planning'
*/
tripPlanning.url = (options?: RouteQueryOptions) => {
    return tripPlanning.definition.url + queryParams(options)
}

/**
* @see vendor/laravel/mcp/src/Server/Registrar.php:29
* @route '/mcp/trip-planning'
*/
tripPlanning.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: tripPlanning.url(options),
    method: 'post',
})

/**
* @see vendor/laravel/mcp/src/Server/Registrar.php:29
* @route '/mcp/trip-planning'
*/
const tripPlanningForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: tripPlanning.url(options),
    method: 'post',
})

/**
* @see vendor/laravel/mcp/src/Server/Registrar.php:29
* @route '/mcp/trip-planning'
*/
tripPlanningForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: tripPlanning.url(options),
    method: 'post',
})

tripPlanning.form = tripPlanningForm

const mcpServer = {
    tripPlanning: Object.assign(tripPlanning, tripPlanning),
}

export default mcpServer