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

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

/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
export const index = (options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: index.url(options),
    method: "get",
})

index.definition = {
    methods: ["get","head"],
    url: "/service-centres",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
index.url = (options?: RouteQueryOptions) => {
    return index.definition.url + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
index.get = (options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: index.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
index.head = (options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: index.url(options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
const indexForm = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
indexForm.get = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:22
 * @route "/service-centres"
 */
indexForm.head = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index.url(formSafeOptions("head", options)),
    method: "get",
})



index.form = indexForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
export const create = (options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: create.url(options),
    method: "get",
})

create.definition = {
    methods: ["get","head"],
    url: "/service-centres/create",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
create.url = (options?: RouteQueryOptions) => {
    return create.definition.url + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
create.get = (options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: create.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
create.head = (options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: create.url(options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
const createForm = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: create.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
createForm.get = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: create.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:46
 * @route "/service-centres/create"
 */
createForm.head = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: create.url(formSafeOptions("head", options)),
    method: "get",
})



create.form = createForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:55
 * @route "/service-centres"
 */
export const store = (options?: RouteQueryOptions): RouteDefinition<"post"> => ({
    url: store.url(options),
    method: "post",
})

store.definition = {
    methods: ["post"],
    url: "/service-centres",
} satisfies RouteDefinition<["post"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:55
 * @route "/service-centres"
 */
store.url = (options?: RouteQueryOptions) => {
    return store.definition.url + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:55
 * @route "/service-centres"
 */
store.post = (options?: RouteQueryOptions): RouteDefinition<"post"> => ({
    url: store.url(options),
    method: "post",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:55
 * @route "/service-centres"
 */
const storeForm = (options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: store.url(options),
    method: "post",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:55
 * @route "/service-centres"
 */
storeForm.post = (options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: store.url(options),
    method: "post",
})



store.form = storeForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
export const show = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: show.url(args, options),
    method: "get",
})

show.definition = {
    methods: ["get","head"],
    url: "/service-centres/{service_centre}",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
show.url = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { service_centre: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { service_centre: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        service_centre: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        service_centre: typeof args.service_centre === "object" ? args.service_centre.id : args.service_centre,
    }
    
    return show.definition.url
        .replace("{service_centre}", parsedArgs.service_centre.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
show.get = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: show.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
show.head = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: show.url(args, options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
const showForm = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: show.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
showForm.get = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: show.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:125
 * @route "/service-centres/{service_centre}"
 */
showForm.head = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: show.url(args, formSafeOptions("head", options)),
    method: "get",
})



show.form = showForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
export const edit = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: edit.url(args, options),
    method: "get",
})

edit.definition = {
    methods: ["get","head"],
    url: "/service-centres/{service_centre}/edit",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
edit.url = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { service_centre: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { service_centre: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        service_centre: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        service_centre: typeof args.service_centre === "object" ? args.service_centre.id : args.service_centre,
    }
    
    return edit.definition.url
        .replace("{service_centre}", parsedArgs.service_centre.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
edit.get = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: edit.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
edit.head = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: edit.url(args, options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
const editForm = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: edit.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
editForm.get = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: edit.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:136
 * @route "/service-centres/{service_centre}/edit"
 */
editForm.head = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: edit.url(args, formSafeOptions("head", options)),
    method: "get",
})



edit.form = editForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
export const update = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"put"> => ({
    url: update.url(args, options),
    method: "put",
})

update.definition = {
    methods: ["put","patch"],
    url: "/service-centres/{service_centre}",
} satisfies RouteDefinition<["put","patch"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
update.url = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { service_centre: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { service_centre: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        service_centre: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        service_centre: typeof args.service_centre === "object" ? args.service_centre.id : args.service_centre,
    }
    
    return update.definition.url
        .replace("{service_centre}", parsedArgs.service_centre.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
update.put = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"put"> => ({
    url: update.url(args, options),
    method: "put",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
update.patch = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"patch"> => ({
    url: update.url(args, options),
    method: "patch",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
const updateForm = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: update.url(args, formSafeOptions("put", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
updateForm.put = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: update.url(args, formSafeOptions("put", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:151
 * @route "/service-centres/{service_centre}"
 */
updateForm.patch = (args: { service_centre: number | { id: number } } | [ service_centre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: update.url(args, formSafeOptions("patch", options)),
    method: "post",
})



update.form = updateForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::destroy
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:214
 * @route "/service-centres/{service_centre}"
 */
export const destroy = (args: { service_centre: string | number } | [ service_centre: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"delete"> => ({
    url: destroy.url(args, options),
    method: "delete",
})

destroy.definition = {
    methods: ["delete"],
    url: "/service-centres/{service_centre}",
} satisfies RouteDefinition<["delete"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::destroy
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:214
 * @route "/service-centres/{service_centre}"
 */
destroy.url = (args: { service_centre: string | number } | [ service_centre: string | number ] | string | number, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { service_centre: args }
    }
    
    if (Array.isArray(args)) {
        args = {
        service_centre: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        service_centre: args.service_centre,
    }
    
    return destroy.definition.url
        .replace("{service_centre}", parsedArgs.service_centre.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::destroy
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:214
 * @route "/service-centres/{service_centre}"
 */
destroy.delete = (args: { service_centre: string | number } | [ service_centre: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"delete"> => ({
    url: destroy.url(args, options),
    method: "delete",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::destroy
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:214
 * @route "/service-centres/{service_centre}"
 */
const destroyForm = (args: { service_centre: string | number } | [ service_centre: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: destroy.url(args, formSafeOptions("delete", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::destroy
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:214
 * @route "/service-centres/{service_centre}"
 */
destroyForm.delete = (args: { service_centre: string | number } | [ service_centre: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: destroy.url(args, formSafeOptions("delete", options)),
    method: "post",
})



destroy.form = destroyForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::activate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:219
 * @route "/service-centres/{serviceCentre}/activate"
 */
export const activate = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"patch"> => ({
    url: activate.url(args, options),
    method: "patch",
})

activate.definition = {
    methods: ["patch"],
    url: "/service-centres/{serviceCentre}/activate",
} satisfies RouteDefinition<["patch"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::activate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:219
 * @route "/service-centres/{serviceCentre}/activate"
 */
activate.url = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { serviceCentre: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { serviceCentre: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        serviceCentre: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        serviceCentre: typeof args.serviceCentre === "object" ? args.serviceCentre.id : args.serviceCentre,
    }
    
    return activate.definition.url
        .replace("{serviceCentre}", parsedArgs.serviceCentre.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::activate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:219
 * @route "/service-centres/{serviceCentre}/activate"
 */
activate.patch = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"patch"> => ({
    url: activate.url(args, options),
    method: "patch",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::activate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:219
 * @route "/service-centres/{serviceCentre}/activate"
 */
const activateForm = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: activate.url(args, formSafeOptions("patch", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::activate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:219
 * @route "/service-centres/{serviceCentre}/activate"
 */
activateForm.patch = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: activate.url(args, formSafeOptions("patch", options)),
    method: "post",
})



activate.form = activateForm
/**
 * @see \App\Http\Controllers\ServiceCentreController::deactivate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:236
 * @route "/service-centres/{serviceCentre}/deactivate"
 */
export const deactivate = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"patch"> => ({
    url: deactivate.url(args, options),
    method: "patch",
})

deactivate.definition = {
    methods: ["patch"],
    url: "/service-centres/{serviceCentre}/deactivate",
} satisfies RouteDefinition<["patch"]>

/**
 * @see \App\Http\Controllers\ServiceCentreController::deactivate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:236
 * @route "/service-centres/{serviceCentre}/deactivate"
 */
deactivate.url = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { serviceCentre: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { serviceCentre: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        serviceCentre: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        serviceCentre: typeof args.serviceCentre === "object" ? args.serviceCentre.id : args.serviceCentre,
    }
    
    return deactivate.definition.url
        .replace("{serviceCentre}", parsedArgs.serviceCentre.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\ServiceCentreController::deactivate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:236
 * @route "/service-centres/{serviceCentre}/deactivate"
 */
deactivate.patch = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"patch"> => ({
    url: deactivate.url(args, options),
    method: "patch",
})



/**
 * @see \App\Http\Controllers\ServiceCentreController::deactivate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:236
 * @route "/service-centres/{serviceCentre}/deactivate"
 */
const deactivateForm = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: deactivate.url(args, formSafeOptions("patch", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\ServiceCentreController::deactivate
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/ServiceCentreController.php:236
 * @route "/service-centres/{serviceCentre}/deactivate"
 */
deactivateForm.patch = (args: { serviceCentre: number | { id: number } } | [ serviceCentre: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: deactivate.url(args, formSafeOptions("patch", options)),
    method: "post",
})



deactivate.form = deactivateForm

const serviceCentres = {
    index,
    create,
    store,
    show,
    edit,
    update,
    destroy,
    activate,
    deactivate,
}

export default serviceCentres