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

handle.definition = {
    methods: ["post"],
    url: '/webhooks/nexo',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\NexoWebhookController::handle
* @see app/Http/Controllers/NexoWebhookController.php:15
* @route '/webhooks/nexo'
*/
handle.url = (options?: RouteQueryOptions) => {
    return handle.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\NexoWebhookController::handle
* @see app/Http/Controllers/NexoWebhookController.php:15
* @route '/webhooks/nexo'
*/
handle.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: handle.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\NexoWebhookController::handle
* @see app/Http/Controllers/NexoWebhookController.php:15
* @route '/webhooks/nexo'
*/
const handleForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: handle.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\NexoWebhookController::handle
* @see app/Http/Controllers/NexoWebhookController.php:15
* @route '/webhooks/nexo'
*/
handleForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: handle.url(options),
    method: 'post',
})

handle.form = handleForm

const NexoWebhookController = { handle }

export default NexoWebhookController