import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../wayfinder'
/**
* @see \App\Http\Controllers\TicketStatus\AuthController::authenticate
 * @see app/Http/Controllers/TicketStatus/AuthController.php:75
 * @route '/ticket-status/staff'
 */
export const authenticate = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: authenticate.url(options),
    method: 'post',
})

authenticate.definition = {
    methods: ["post"],
    url: '/ticket-status/staff',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\TicketStatus\AuthController::authenticate
 * @see app/Http/Controllers/TicketStatus/AuthController.php:75
 * @route '/ticket-status/staff'
 */
authenticate.url = (options?: RouteQueryOptions) => {
    return authenticate.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\TicketStatus\AuthController::authenticate
 * @see app/Http/Controllers/TicketStatus/AuthController.php:75
 * @route '/ticket-status/staff'
 */
authenticate.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: authenticate.url(options),
    method: 'post',
})

    /**
* @see \App\Http\Controllers\TicketStatus\AuthController::authenticate
 * @see app/Http/Controllers/TicketStatus/AuthController.php:75
 * @route '/ticket-status/staff'
 */
    const authenticateForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
        action: authenticate.url(options),
        method: 'post',
    })

            /**
* @see \App\Http\Controllers\TicketStatus\AuthController::authenticate
 * @see app/Http/Controllers/TicketStatus/AuthController.php:75
 * @route '/ticket-status/staff'
 */
        authenticateForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
            action: authenticate.url(options),
            method: 'post',
        })
    
    authenticate.form = authenticateForm
const staff = {
    authenticate: Object.assign(authenticate, authenticate),
}

export default staff