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

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

/**
* @see \App\Http\Controllers\Auth\LoginController::createUser
* @see app/Http/Controllers/Auth/LoginController.php:15
* @route '/login'
*/
createUser.url = (options?: RouteQueryOptions) => {
    return createUser.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\LoginController::createUser
* @see app/Http/Controllers/Auth/LoginController.php:15
* @route '/login'
*/
createUser.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: createUser.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createUser
* @see app/Http/Controllers/Auth/LoginController.php:15
* @route '/login'
*/
createUser.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: createUser.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createUser
* @see app/Http/Controllers/Auth/LoginController.php:15
* @route '/login'
*/
const createUserForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: createUser.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createUser
* @see app/Http/Controllers/Auth/LoginController.php:15
* @route '/login'
*/
createUserForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: createUser.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createUser
* @see app/Http/Controllers/Auth/LoginController.php:15
* @route '/login'
*/
createUserForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: createUser.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

createUser.form = createUserForm

/**
* @see \App\Http\Controllers\Auth\LoginController::storeUser
* @see app/Http/Controllers/Auth/LoginController.php:31
* @route '/login'
*/
export const storeUser = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storeUser.url(options),
    method: 'post',
})

storeUser.definition = {
    methods: ["post"],
    url: '/login',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Auth\LoginController::storeUser
* @see app/Http/Controllers/Auth/LoginController.php:31
* @route '/login'
*/
storeUser.url = (options?: RouteQueryOptions) => {
    return storeUser.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\LoginController::storeUser
* @see app/Http/Controllers/Auth/LoginController.php:31
* @route '/login'
*/
storeUser.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storeUser.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::storeUser
* @see app/Http/Controllers/Auth/LoginController.php:31
* @route '/login'
*/
const storeUserForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: storeUser.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::storeUser
* @see app/Http/Controllers/Auth/LoginController.php:31
* @route '/login'
*/
storeUserForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: storeUser.url(options),
    method: 'post',
})

storeUser.form = storeUserForm

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
export const createAdmin = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: createAdmin.url(options),
    method: 'get',
})

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

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
createAdmin.url = (options?: RouteQueryOptions) => {
    return createAdmin.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
createAdmin.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: createAdmin.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
createAdmin.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: createAdmin.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
const createAdminForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: createAdmin.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
createAdminForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: createAdmin.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::createAdmin
* @see app/Http/Controllers/Auth/LoginController.php:23
* @route '/admin/login'
*/
createAdminForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: createAdmin.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

createAdmin.form = createAdminForm

/**
* @see \App\Http\Controllers\Auth\LoginController::storeAdmin
* @see app/Http/Controllers/Auth/LoginController.php:45
* @route '/admin/login'
*/
export const storeAdmin = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storeAdmin.url(options),
    method: 'post',
})

storeAdmin.definition = {
    methods: ["post"],
    url: '/admin/login',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Auth\LoginController::storeAdmin
* @see app/Http/Controllers/Auth/LoginController.php:45
* @route '/admin/login'
*/
storeAdmin.url = (options?: RouteQueryOptions) => {
    return storeAdmin.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\LoginController::storeAdmin
* @see app/Http/Controllers/Auth/LoginController.php:45
* @route '/admin/login'
*/
storeAdmin.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: storeAdmin.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::storeAdmin
* @see app/Http/Controllers/Auth/LoginController.php:45
* @route '/admin/login'
*/
const storeAdminForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: storeAdmin.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::storeAdmin
* @see app/Http/Controllers/Auth/LoginController.php:45
* @route '/admin/login'
*/
storeAdminForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: storeAdmin.url(options),
    method: 'post',
})

storeAdmin.form = storeAdminForm

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/admin/logout'
*/
const destroy0bf9725898bf54069779505e96ede62a = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: destroy0bf9725898bf54069779505e96ede62a.url(options),
    method: 'post',
})

destroy0bf9725898bf54069779505e96ede62a.definition = {
    methods: ["post"],
    url: '/admin/logout',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/admin/logout'
*/
destroy0bf9725898bf54069779505e96ede62a.url = (options?: RouteQueryOptions) => {
    return destroy0bf9725898bf54069779505e96ede62a.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/admin/logout'
*/
destroy0bf9725898bf54069779505e96ede62a.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: destroy0bf9725898bf54069779505e96ede62a.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/admin/logout'
*/
const destroy0bf9725898bf54069779505e96ede62aForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: destroy0bf9725898bf54069779505e96ede62a.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/admin/logout'
*/
destroy0bf9725898bf54069779505e96ede62aForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: destroy0bf9725898bf54069779505e96ede62a.url(options),
    method: 'post',
})

destroy0bf9725898bf54069779505e96ede62a.form = destroy0bf9725898bf54069779505e96ede62aForm
/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/logout'
*/
const destroyf732b903d9f8919b4c24bef1f8bb897a = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: destroyf732b903d9f8919b4c24bef1f8bb897a.url(options),
    method: 'post',
})

destroyf732b903d9f8919b4c24bef1f8bb897a.definition = {
    methods: ["post"],
    url: '/logout',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/logout'
*/
destroyf732b903d9f8919b4c24bef1f8bb897a.url = (options?: RouteQueryOptions) => {
    return destroyf732b903d9f8919b4c24bef1f8bb897a.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/logout'
*/
destroyf732b903d9f8919b4c24bef1f8bb897a.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: destroyf732b903d9f8919b4c24bef1f8bb897a.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/logout'
*/
const destroyf732b903d9f8919b4c24bef1f8bb897aForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: destroyf732b903d9f8919b4c24bef1f8bb897a.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Auth\LoginController::destroy
* @see app/Http/Controllers/Auth/LoginController.php:64
* @route '/logout'
*/
destroyf732b903d9f8919b4c24bef1f8bb897aForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: destroyf732b903d9f8919b4c24bef1f8bb897a.url(options),
    method: 'post',
})

destroyf732b903d9f8919b4c24bef1f8bb897a.form = destroyf732b903d9f8919b4c24bef1f8bb897aForm

/**
* Multiple routes resolve to \App\Http\Controllers\Auth\LoginController::destroy, so this export is a
* dictionary keyed by URI rather than a callable. Call a specific route with `destroy['<uri>'](...)`,
* or import the route by name from your generated `routes/` directory.
*/
export const destroy = {
    '/admin/logout': destroy0bf9725898bf54069779505e96ede62a,
    '/logout': destroyf732b903d9f8919b4c24bef1f8bb897a,
}

const LoginController = { createUser, storeUser, createAdmin, storeAdmin, destroy }

export default LoginController