import { queryParams, type RouteQueryOptions, type RouteDefinition } from './../../../wayfinder'
/**
* @see \App\Http\Controllers\Internal\JwtTokenController::generateToken
* @see app/Http/Controllers/Internal/JwtTokenController.php:31
* @route '/api/internal/dev/generate-token'
*/
export const generateToken = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: generateToken.url(options),
    method: 'post',
})

generateToken.definition = {
    methods: ["post"],
    url: '/api/internal/dev/generate-token',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Internal\JwtTokenController::generateToken
* @see app/Http/Controllers/Internal/JwtTokenController.php:31
* @route '/api/internal/dev/generate-token'
*/
generateToken.url = (options?: RouteQueryOptions) => {
    return generateToken.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Internal\JwtTokenController::generateToken
* @see app/Http/Controllers/Internal/JwtTokenController.php:31
* @route '/api/internal/dev/generate-token'
*/
generateToken.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: generateToken.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Internal\JwtTokenController::publicKey
* @see app/Http/Controllers/Internal/JwtTokenController.php:121
* @route '/api/internal/dev/public-key'
*/
export const publicKey = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: publicKey.url(options),
    method: 'get',
})

publicKey.definition = {
    methods: ["get","head"],
    url: '/api/internal/dev/public-key',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\Internal\JwtTokenController::publicKey
* @see app/Http/Controllers/Internal/JwtTokenController.php:121
* @route '/api/internal/dev/public-key'
*/
publicKey.url = (options?: RouteQueryOptions) => {
    return publicKey.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Internal\JwtTokenController::publicKey
* @see app/Http/Controllers/Internal/JwtTokenController.php:121
* @route '/api/internal/dev/public-key'
*/
publicKey.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: publicKey.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Internal\JwtTokenController::publicKey
* @see app/Http/Controllers/Internal/JwtTokenController.php:121
* @route '/api/internal/dev/public-key'
*/
publicKey.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: publicKey.url(options),
    method: 'head',
})

const dev = {
    generateToken: Object.assign(generateToken, generateToken),
    publicKey: Object.assign(publicKey, publicKey),
}

export default dev