import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../wayfinder'
/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
export const show = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: show.url(options),
    method: 'get',
})

show.definition = {
    methods: ["get","head"],
    url: '/api/ai-assistant',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
show.url = (options?: RouteQueryOptions) => {
    return show.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
show.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: show.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
show.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: show.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
const showForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: show.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
showForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: show.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::show
* @see app/Http/Controllers/Api/AiAssistantController.php:32
* @route '/api/ai-assistant'
*/
showForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: show.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

show.form = showForm

/**
* @see \App\Http\Controllers\Api\AiAssistantController::customize
* @see app/Http/Controllers/Api/AiAssistantController.php:66
* @route '/api/ai-assistant/customize'
*/
export const customize = (options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: customize.url(options),
    method: 'put',
})

customize.definition = {
    methods: ["put"],
    url: '/api/ai-assistant/customize',
} satisfies RouteDefinition<["put"]>

/**
* @see \App\Http\Controllers\Api\AiAssistantController::customize
* @see app/Http/Controllers/Api/AiAssistantController.php:66
* @route '/api/ai-assistant/customize'
*/
customize.url = (options?: RouteQueryOptions) => {
    return customize.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Api\AiAssistantController::customize
* @see app/Http/Controllers/Api/AiAssistantController.php:66
* @route '/api/ai-assistant/customize'
*/
customize.put = (options?: RouteQueryOptions): RouteDefinition<'put'> => ({
    url: customize.url(options),
    method: 'put',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::customize
* @see app/Http/Controllers/Api/AiAssistantController.php:66
* @route '/api/ai-assistant/customize'
*/
const customizeForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: customize.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'PUT',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::customize
* @see app/Http/Controllers/Api/AiAssistantController.php:66
* @route '/api/ai-assistant/customize'
*/
customizeForm.put = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: customize.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'PUT',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'post',
})

customize.form = customizeForm

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
export const personality = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: personality.url(options),
    method: 'get',
})

personality.definition = {
    methods: ["get","head"],
    url: '/api/ai-assistant/personality',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
personality.url = (options?: RouteQueryOptions) => {
    return personality.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
personality.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: personality.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
personality.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: personality.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
const personalityForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: personality.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
personalityForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: personality.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::personality
* @see app/Http/Controllers/Api/AiAssistantController.php:125
* @route '/api/ai-assistant/personality'
*/
personalityForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: personality.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

personality.form = personalityForm

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
export const greeting = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: greeting.url(options),
    method: 'get',
})

greeting.definition = {
    methods: ["get","head"],
    url: '/api/ai-assistant/greeting',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
greeting.url = (options?: RouteQueryOptions) => {
    return greeting.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
greeting.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: greeting.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
greeting.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: greeting.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
const greetingForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: greeting.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
greetingForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: greeting.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::greeting
* @see app/Http/Controllers/Api/AiAssistantController.php:161
* @route '/api/ai-assistant/greeting'
*/
greetingForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: greeting.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

greeting.form = greetingForm

/**
* @see \App\Http\Controllers\Api\AiAssistantController::uploadAvatar
* @see app/Http/Controllers/Api/AiAssistantController.php:193
* @route '/api/ai-assistant/upload-avatar'
*/
export const uploadAvatar = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: uploadAvatar.url(options),
    method: 'post',
})

uploadAvatar.definition = {
    methods: ["post"],
    url: '/api/ai-assistant/upload-avatar',
} satisfies RouteDefinition<["post"]>

/**
* @see \App\Http\Controllers\Api\AiAssistantController::uploadAvatar
* @see app/Http/Controllers/Api/AiAssistantController.php:193
* @route '/api/ai-assistant/upload-avatar'
*/
uploadAvatar.url = (options?: RouteQueryOptions) => {
    return uploadAvatar.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Api\AiAssistantController::uploadAvatar
* @see app/Http/Controllers/Api/AiAssistantController.php:193
* @route '/api/ai-assistant/upload-avatar'
*/
uploadAvatar.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: uploadAvatar.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::uploadAvatar
* @see app/Http/Controllers/Api/AiAssistantController.php:193
* @route '/api/ai-assistant/upload-avatar'
*/
const uploadAvatarForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: uploadAvatar.url(options),
    method: 'post',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::uploadAvatar
* @see app/Http/Controllers/Api/AiAssistantController.php:193
* @route '/api/ai-assistant/upload-avatar'
*/
uploadAvatarForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: uploadAvatar.url(options),
    method: 'post',
})

uploadAvatar.form = uploadAvatarForm

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
export const insights = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: insights.url(options),
    method: 'get',
})

insights.definition = {
    methods: ["get","head"],
    url: '/api/ai-assistant/insights',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
insights.url = (options?: RouteQueryOptions) => {
    return insights.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
insights.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: insights.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
insights.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: insights.url(options),
    method: 'head',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
const insightsForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: insights.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
insightsForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: insights.url(options),
    method: 'get',
})

/**
* @see \App\Http\Controllers\Api\AiAssistantController::insights
* @see app/Http/Controllers/Api/AiAssistantController.php:245
* @route '/api/ai-assistant/insights'
*/
insightsForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
    action: insights.url({
        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
            _method: 'HEAD',
            ...(options?.query ?? options?.mergeQuery ?? {}),
        }
    }),
    method: 'get',
})

insights.form = insightsForm

const aiAssistant = {
    show: Object.assign(show, show),
    customize: Object.assign(customize, customize),
    personality: Object.assign(personality, personality),
    greeting: Object.assign(greeting, greeting),
    uploadAvatar: Object.assign(uploadAvatar, uploadAvatar),
    insights: Object.assign(insights, insights),
}

export default aiAssistant