import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../wayfinder'
/**
* @see \App\Http\Controllers\ProspectingController::rematch
* @see app/Http/Controllers/ProspectingController.php:57
* @route '/prospecting/rematch'
*/
export const rematch = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: rematch.url(options),
    method: 'post',
})

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

/**
* @see \App\Http\Controllers\ProspectingController::rematch
* @see app/Http/Controllers/ProspectingController.php:57
* @route '/prospecting/rematch'
*/
rematch.url = (options?: RouteQueryOptions) => {
    return rematch.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\ProspectingController::rematch
* @see app/Http/Controllers/ProspectingController.php:57
* @route '/prospecting/rematch'
*/
rematch.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: rematch.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\ProspectingController::rematch
* @see app/Http/Controllers/ProspectingController.php:57
* @route '/prospecting/rematch'
*/
const rematchForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: rematch.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\ProspectingController::rematch
* @see app/Http/Controllers/ProspectingController.php:57
* @route '/prospecting/rematch'
*/
rematchForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: rematch.url(options),
    method: 'post',
})

rematch.form = rematchForm

const prospecting = {
    rematch: Object.assign(rematch, rematch),
}

export default prospecting