import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../../wayfinder'
/**
* @see \App\Http\Controllers\XeroWebhookController::__invoke
* @see app/Http/Controllers/XeroWebhookController.php:14
* @route '/xero/webhook'
*/
const XeroWebhookController = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: XeroWebhookController.url(options),
    method: 'post',
})

XeroWebhookController.definition = {
    methods: ["post"],
    url: '/xero/webhook',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\XeroWebhookController::__invoke
* @see app/Http/Controllers/XeroWebhookController.php:14
* @route '/xero/webhook'
*/
XeroWebhookController.url = (options?: RouteQueryOptions) => {
    return XeroWebhookController.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\XeroWebhookController::__invoke
* @see app/Http/Controllers/XeroWebhookController.php:14
* @route '/xero/webhook'
*/
XeroWebhookController.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: XeroWebhookController.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\XeroWebhookController::__invoke
* @see app/Http/Controllers/XeroWebhookController.php:14
* @route '/xero/webhook'
*/
const XeroWebhookControllerForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: XeroWebhookController.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\XeroWebhookController::__invoke
* @see app/Http/Controllers/XeroWebhookController.php:14
* @route '/xero/webhook'
*/
XeroWebhookControllerForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: XeroWebhookController.url(options),
    method: 'post',
})

XeroWebhookController.form = XeroWebhookControllerForm

export default XeroWebhookController