import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../wayfinder'
import shows from './shows'
import settings69f00b from './settings'
import apiKey from './api-key'
import apiDocs from './api-docs'
import token from './token'
/**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
export const dashboard = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: dashboard.url(options),
    method: 'get',
})

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

/**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
dashboard.url = (options?: RouteQueryOptions) => {
    return dashboard.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
dashboard.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: dashboard.url(options),
    method: 'get',
})
/**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
dashboard.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: dashboard.url(options),
    method: 'head',
})

    /**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
    const dashboardForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
        action: dashboard.url(options),
        method: 'get',
    })

            /**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
        dashboardForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: dashboard.url(options),
            method: 'get',
        })
            /**
* @see \App\Http\Controllers\Partner\DashboardController::dashboard
 * @see app/Http/Controllers/Partner/DashboardController.php:17
 * @route '/partner/dashboard'
 */
        dashboardForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: dashboard.url({
                        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
                            _method: 'HEAD',
                            ...(options?.query ?? options?.mergeQuery ?? {}),
                        }
                    }),
            method: 'get',
        })
    
    dashboard.form = dashboardForm
/**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
export const settings = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: settings.url(options),
    method: 'get',
})

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

/**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
settings.url = (options?: RouteQueryOptions) => {
    return settings.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
settings.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: settings.url(options),
    method: 'get',
})
/**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
settings.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: settings.url(options),
    method: 'head',
})

    /**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
    const settingsForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
        action: settings.url(options),
        method: 'get',
    })

            /**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
        settingsForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: settings.url(options),
            method: 'get',
        })
            /**
* @see \App\Http\Controllers\Partner\SettingsController::settings
 * @see app/Http/Controllers/Partner/SettingsController.php:24
 * @route '/partner/settings'
 */
        settingsForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: settings.url({
                        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
                            _method: 'HEAD',
                            ...(options?.query ?? options?.mergeQuery ?? {}),
                        }
                    }),
            method: 'get',
        })
    
    settings.form = settingsForm
const partner = {
    dashboard: Object.assign(dashboard, dashboard),
shows: Object.assign(shows, shows),
settings: Object.assign(settings, settings69f00b),
apiKey: Object.assign(apiKey, apiKey),
apiDocs: Object.assign(apiDocs, apiDocs),
token: Object.assign(token, token),
}

export default partner