import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../wayfinder'
/**
* @see \App\Http\Controllers\Admin\AdminImpersonationController::stop
* @see app/Http/Controllers/Admin/AdminImpersonationController.php:39
* @route '/impersonacion/finalizar'
*/
export const stop = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: stop.url(options),
    method: 'post',
})

stop.definition = {
    methods: ["post"],
    url: '/impersonacion/finalizar',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Admin\AdminImpersonationController::stop
* @see app/Http/Controllers/Admin/AdminImpersonationController.php:39
* @route '/impersonacion/finalizar'
*/
stop.url = (options?: RouteQueryOptions) => {
    return stop.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Admin\AdminImpersonationController::stop
* @see app/Http/Controllers/Admin/AdminImpersonationController.php:39
* @route '/impersonacion/finalizar'
*/
stop.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: stop.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Admin\AdminImpersonationController::stop
* @see app/Http/Controllers/Admin/AdminImpersonationController.php:39
* @route '/impersonacion/finalizar'
*/
const stopForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: stop.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Admin\AdminImpersonationController::stop
* @see app/Http/Controllers/Admin/AdminImpersonationController.php:39
* @route '/impersonacion/finalizar'
*/
stopForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: stop.url(options),
    method: 'post',
})

stop.form = stopForm

const impersonation = {
    stop: Object.assign(stop, stop),
}

export default impersonation