import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../../../wayfinder'
/**
* @see \App\Http\Controllers\Webhooks\TheThingsStackWebhookController::__invoke
* @see app/Http/Controllers/Webhooks/TheThingsStackWebhookController.php:14
* @route '/webhooks/the-things-stack/uplink'
*/
const TheThingsStackWebhookController = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: TheThingsStackWebhookController.url(options),
    method: 'post',
})

TheThingsStackWebhookController.definition = {
    methods: ["post"],
    url: '/webhooks/the-things-stack/uplink',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Webhooks\TheThingsStackWebhookController::__invoke
* @see app/Http/Controllers/Webhooks/TheThingsStackWebhookController.php:14
* @route '/webhooks/the-things-stack/uplink'
*/
TheThingsStackWebhookController.url = (options?: RouteQueryOptions) => {
    return TheThingsStackWebhookController.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Webhooks\TheThingsStackWebhookController::__invoke
* @see app/Http/Controllers/Webhooks/TheThingsStackWebhookController.php:14
* @route '/webhooks/the-things-stack/uplink'
*/
TheThingsStackWebhookController.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: TheThingsStackWebhookController.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Webhooks\TheThingsStackWebhookController::__invoke
* @see app/Http/Controllers/Webhooks/TheThingsStackWebhookController.php:14
* @route '/webhooks/the-things-stack/uplink'
*/
const TheThingsStackWebhookControllerForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: TheThingsStackWebhookController.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Webhooks\TheThingsStackWebhookController::__invoke
* @see app/Http/Controllers/Webhooks/TheThingsStackWebhookController.php:14
* @route '/webhooks/the-things-stack/uplink'
*/
TheThingsStackWebhookControllerForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: TheThingsStackWebhookController.url(options),
    method: 'post',
})

TheThingsStackWebhookController.form = TheThingsStackWebhookControllerForm

export default TheThingsStackWebhookController