import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../wayfinder'
/**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
export const verify = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: verify.url(options),
    method: 'get',
})

verify.definition = {
    methods: ["get","head"],
    url: '/register/verify',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
verify.url = (options?: RouteQueryOptions) => {
    return verify.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
verify.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: verify.url(options),
    method: 'get',
})
/**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
verify.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: verify.url(options),
    method: 'head',
})

    /**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
    const verifyForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
        action: verify.url(options),
        method: 'get',
    })

            /**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
        verifyForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: verify.url(options),
            method: 'get',
        })
            /**
* @see \App\Http\Controllers\Auth\RegisterController::verify
 * @see app/Http/Controllers/Auth/RegisterController.php:93
 * @route '/register/verify'
 */
        verifyForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: verify.url({
                        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
                            _method: 'HEAD',
                            ...(options?.query ?? options?.mergeQuery ?? {}),
                        }
                    }),
            method: 'get',
        })
    
    verify.form = verifyForm
/**
* @see \App\Http\Controllers\Auth\RegisterController::resendOtp
 * @see app/Http/Controllers/Auth/RegisterController.php:180
 * @route '/register/resend-otp'
 */
export const resendOtp = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: resendOtp.url(options),
    method: 'post',
})

resendOtp.definition = {
    methods: ["post"],
    url: '/register/resend-otp',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Auth\RegisterController::resendOtp
 * @see app/Http/Controllers/Auth/RegisterController.php:180
 * @route '/register/resend-otp'
 */
resendOtp.url = (options?: RouteQueryOptions) => {
    return resendOtp.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\RegisterController::resendOtp
 * @see app/Http/Controllers/Auth/RegisterController.php:180
 * @route '/register/resend-otp'
 */
resendOtp.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: resendOtp.url(options),
    method: 'post',
})

    /**
* @see \App\Http\Controllers\Auth\RegisterController::resendOtp
 * @see app/Http/Controllers/Auth/RegisterController.php:180
 * @route '/register/resend-otp'
 */
    const resendOtpForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
        action: resendOtp.url(options),
        method: 'post',
    })

            /**
* @see \App\Http\Controllers\Auth\RegisterController::resendOtp
 * @see app/Http/Controllers/Auth/RegisterController.php:180
 * @route '/register/resend-otp'
 */
        resendOtpForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
            action: resendOtp.url(options),
            method: 'post',
        })
    
    resendOtp.form = resendOtpForm
const register = {
    verify: Object.assign(verify, verify),
resendOtp: Object.assign(resendOtp, resendOtp),
}

export default register