// This file is auto-generated by Laravel Wayfinder.
// Do not edit this file directly, any changes will be overwritten.

import { applyUrlDefaults, formSafeOptions, queryParams, validateParameters, type RouteDefinition, type RouteFormDefinition, type RouteQueryOptions } from "./../../../../index";

/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
export const index = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: index.url(args, options),
    method: "get",
})

index.definition = {
    methods: ["get","head"],
    url: "/telescope/{view?}",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
index.url = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { view: args }
    }
    
    if (Array.isArray(args)) {
        args = {
        view: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    validateParameters(args, ["view"])
    
    const parsedArgs = {
        view: args?.view,
    }
    
    return index.definition.url
        .replace("{view?}", parsedArgs.view?.toString() ?? '')
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
index.get = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: index.url(args, options),
    method: "get",
})

/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
index.head = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: index.url(args, options),
    method: "head",
})



/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
const indexForm = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index.url(args, options),
    method: "get",
})

/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
indexForm.get = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index.url(args, options),
    method: "get",
})

/**
 * @see \Laravel\Telescope\Http\Controllers\HomeController::index
 * @see /var/www/html/faraja-vendible/vendor/laravel/telescope/src/Http/Controllers/HomeController.php:15
 * @route "/telescope/{view?}"
 */
indexForm.head = (args?: { view?: string | number } | [ view: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index.url(args, formSafeOptions("head", options)),
    method: "get",
})



index.form = indexForm

const HomeController = {
    index,
}

export default HomeController