// 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\SalePaymentController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:24
 * @route "/sales-payments"
 */
export const index = (options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: index.url(options),
    method: "get",
})

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

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

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

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



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

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

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



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

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

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sales-payments/create"
 */
create2bf1ec6a177031e4d8fc9cda707b566b.url = (options?: RouteQueryOptions) => {
    return create2bf1ec6a177031e4d8fc9cda707b566b.definition.url + queryParams(options)
}

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

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



/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sales-payments/create"
 */
const create2bf1ec6a177031e4d8fc9cda707b566bForm = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: create2bf1ec6a177031e4d8fc9cda707b566b.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sales-payments/create"
 */
create2bf1ec6a177031e4d8fc9cda707b566bForm.get = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: create2bf1ec6a177031e4d8fc9cda707b566b.url(options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sales-payments/create"
 */
create2bf1ec6a177031e4d8fc9cda707b566bForm.head = (options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: create2bf1ec6a177031e4d8fc9cda707b566b.url(formSafeOptions("head", options)),
    method: "get",
})



create2bf1ec6a177031e4d8fc9cda707b566b.form = create2bf1ec6a177031e4d8fc9cda707b566bForm

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
export const createc33a514114a1f76493d8da35fab51919 = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: createc33a514114a1f76493d8da35fab51919.url(args, options),
    method: "get",
})

createc33a514114a1f76493d8da35fab51919.definition = {
    methods: ["get","head"],
    url: "/sale-agreements/{saleAgreement}/sales-payments/create",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
createc33a514114a1f76493d8da35fab51919.url = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { saleAgreement: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { saleAgreement: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        saleAgreement: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        saleAgreement: typeof args.saleAgreement === "object" ? args.saleAgreement.id : args.saleAgreement,
    }
    
    return createc33a514114a1f76493d8da35fab51919.definition.url
        .replace("{saleAgreement}", parsedArgs.saleAgreement.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
createc33a514114a1f76493d8da35fab51919.get = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: createc33a514114a1f76493d8da35fab51919.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
createc33a514114a1f76493d8da35fab51919.head = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: createc33a514114a1f76493d8da35fab51919.url(args, options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
const createc33a514114a1f76493d8da35fab51919Form = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: createc33a514114a1f76493d8da35fab51919.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
createc33a514114a1f76493d8da35fab51919Form.get = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: createc33a514114a1f76493d8da35fab51919.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/sale-agreements/{saleAgreement}/sales-payments/create"
 */
createc33a514114a1f76493d8da35fab51919Form.head = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: createc33a514114a1f76493d8da35fab51919.url(args, formSafeOptions("head", options)),
    method: "get",
})



createc33a514114a1f76493d8da35fab51919.form = createc33a514114a1f76493d8da35fab51919Form

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
export const createee58acd4e1baa622816d58ea722778e7 = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: createee58acd4e1baa622816d58ea722778e7.url(args, options),
    method: "get",
})

createee58acd4e1baa622816d58ea722778e7.definition = {
    methods: ["get","head"],
    url: "/loan-sale-agreements/{saleAgreement}/sales-payments/create",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
createee58acd4e1baa622816d58ea722778e7.url = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { saleAgreement: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { saleAgreement: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        saleAgreement: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        saleAgreement: typeof args.saleAgreement === "object" ? args.saleAgreement.id : args.saleAgreement,
    }
    
    return createee58acd4e1baa622816d58ea722778e7.definition.url
        .replace("{saleAgreement}", parsedArgs.saleAgreement.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
createee58acd4e1baa622816d58ea722778e7.get = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: createee58acd4e1baa622816d58ea722778e7.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
createee58acd4e1baa622816d58ea722778e7.head = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: createee58acd4e1baa622816d58ea722778e7.url(args, options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
const createee58acd4e1baa622816d58ea722778e7Form = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: createee58acd4e1baa622816d58ea722778e7.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
createee58acd4e1baa622816d58ea722778e7Form.get = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: createee58acd4e1baa622816d58ea722778e7.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::create
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:44
 * @route "/loan-sale-agreements/{saleAgreement}/sales-payments/create"
 */
createee58acd4e1baa622816d58ea722778e7Form.head = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: createee58acd4e1baa622816d58ea722778e7.url(args, formSafeOptions("head", options)),
    method: "get",
})



createee58acd4e1baa622816d58ea722778e7.form = createee58acd4e1baa622816d58ea722778e7Form

export const create = {
    "/sales-payments/create": create2bf1ec6a177031e4d8fc9cda707b566b,
    "/sale-agreements/{saleAgreement}/sales-payments/create": createc33a514114a1f76493d8da35fab51919,
    "/loan-sale-agreements/{saleAgreement}/sales-payments/create": createee58acd4e1baa622816d58ea722778e7,
}
/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sales-payments"
 */
export const storef6544ac27b19d68c80d019fcbf9738b5 = (options?: RouteQueryOptions): RouteDefinition<"post"> => ({
    url: storef6544ac27b19d68c80d019fcbf9738b5.url(options),
    method: "post",
})

storef6544ac27b19d68c80d019fcbf9738b5.definition = {
    methods: ["post"],
    url: "/sales-payments",
} satisfies RouteDefinition<["post"]>

/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sales-payments"
 */
storef6544ac27b19d68c80d019fcbf9738b5.url = (options?: RouteQueryOptions) => {
    return storef6544ac27b19d68c80d019fcbf9738b5.definition.url + queryParams(options)
}

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



/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sales-payments"
 */
const storef6544ac27b19d68c80d019fcbf9738b5Form = (options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: storef6544ac27b19d68c80d019fcbf9738b5.url(options),
    method: "post",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sales-payments"
 */
storef6544ac27b19d68c80d019fcbf9738b5Form.post = (options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: storef6544ac27b19d68c80d019fcbf9738b5.url(options),
    method: "post",
})



storef6544ac27b19d68c80d019fcbf9738b5.form = storef6544ac27b19d68c80d019fcbf9738b5Form

/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sale-agreements/{saleAgreement}/sales-payments"
 */
export const store3b559afe802f7dcf0d02e2a36d7ee8ed = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"post"> => ({
    url: store3b559afe802f7dcf0d02e2a36d7ee8ed.url(args, options),
    method: "post",
})

store3b559afe802f7dcf0d02e2a36d7ee8ed.definition = {
    methods: ["post"],
    url: "/sale-agreements/{saleAgreement}/sales-payments",
} satisfies RouteDefinition<["post"]>

/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sale-agreements/{saleAgreement}/sales-payments"
 */
store3b559afe802f7dcf0d02e2a36d7ee8ed.url = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions) => {
    if (typeof args === "string" || typeof args === "number") {
        args = { saleAgreement: args }
    }
    
    if (typeof args === "object" && !Array.isArray(args) && "id" in args) {
        args = { saleAgreement: args.id }
    }
    
    if (Array.isArray(args)) {
        args = {
        saleAgreement: args[0],
    }
    }
    
    args = applyUrlDefaults(args)
    
    const parsedArgs = {
        saleAgreement: typeof args.saleAgreement === "object" ? args.saleAgreement.id : args.saleAgreement,
    }
    
    return store3b559afe802f7dcf0d02e2a36d7ee8ed.definition.url
        .replace("{saleAgreement}", parsedArgs.saleAgreement.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sale-agreements/{saleAgreement}/sales-payments"
 */
store3b559afe802f7dcf0d02e2a36d7ee8ed.post = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"post"> => ({
    url: store3b559afe802f7dcf0d02e2a36d7ee8ed.url(args, options),
    method: "post",
})



/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sale-agreements/{saleAgreement}/sales-payments"
 */
const store3b559afe802f7dcf0d02e2a36d7ee8edForm = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: store3b559afe802f7dcf0d02e2a36d7ee8ed.url(args, options),
    method: "post",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::store
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:60
 * @route "/sale-agreements/{saleAgreement}/sales-payments"
 */
store3b559afe802f7dcf0d02e2a36d7ee8edForm.post = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: store3b559afe802f7dcf0d02e2a36d7ee8ed.url(args, options),
    method: "post",
})



store3b559afe802f7dcf0d02e2a36d7ee8ed.form = store3b559afe802f7dcf0d02e2a36d7ee8edForm

export const store = {
    "/sales-payments": storef6544ac27b19d68c80d019fcbf9738b5,
    "/sale-agreements/{saleAgreement}/sales-payments": store3b559afe802f7dcf0d02e2a36d7ee8ed,
}
/**
 * @see \App\Http\Controllers\SalePaymentController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:101
 * @route "/sales-payments/{sales_payment}"
 */
export const show = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: show.url(args, options),
    method: "get",
})

show.definition = {
    methods: ["get","head"],
    url: "/sales-payments/{sales_payment}",
} satisfies RouteDefinition<["get","head"]>

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

/**
 * @see \App\Http\Controllers\SalePaymentController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:101
 * @route "/sales-payments/{sales_payment}"
 */
show.get = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: show.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:101
 * @route "/sales-payments/{sales_payment}"
 */
show.head = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: show.url(args, options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\SalePaymentController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:101
 * @route "/sales-payments/{sales_payment}"
 */
const showForm = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: show.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:101
 * @route "/sales-payments/{sales_payment}"
 */
showForm.get = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: show.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::show
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:101
 * @route "/sales-payments/{sales_payment}"
 */
showForm.head = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: show.url(args, formSafeOptions("head", options)),
    method: "get",
})



show.form = showForm
/**
 * @see \App\Http\Controllers\SalePaymentController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:109
 * @route "/sales-payments/{sales_payment}/edit"
 */
export const edit = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: edit.url(args, options),
    method: "get",
})

edit.definition = {
    methods: ["get","head"],
    url: "/sales-payments/{sales_payment}/edit",
} satisfies RouteDefinition<["get","head"]>

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

/**
 * @see \App\Http\Controllers\SalePaymentController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:109
 * @route "/sales-payments/{sales_payment}/edit"
 */
edit.get = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: edit.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:109
 * @route "/sales-payments/{sales_payment}/edit"
 */
edit.head = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"head"> => ({
    url: edit.url(args, options),
    method: "head",
})



/**
 * @see \App\Http\Controllers\SalePaymentController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:109
 * @route "/sales-payments/{sales_payment}/edit"
 */
const editForm = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: edit.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:109
 * @route "/sales-payments/{sales_payment}/edit"
 */
editForm.get = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: edit.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::edit
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:109
 * @route "/sales-payments/{sales_payment}/edit"
 */
editForm.head = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: edit.url(args, formSafeOptions("head", options)),
    method: "get",
})



edit.form = editForm
/**
 * @see \App\Http\Controllers\SalePaymentController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:117
 * @route "/sales-payments/{sales_payment}"
 */
export const update = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"put"> => ({
    url: update.url(args, options),
    method: "put",
})

update.definition = {
    methods: ["put","patch"],
    url: "/sales-payments/{sales_payment}",
} satisfies RouteDefinition<["put","patch"]>

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

/**
 * @see \App\Http\Controllers\SalePaymentController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:117
 * @route "/sales-payments/{sales_payment}"
 */
update.put = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"put"> => ({
    url: update.url(args, options),
    method: "put",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:117
 * @route "/sales-payments/{sales_payment}"
 */
update.patch = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteDefinition<"patch"> => ({
    url: update.url(args, options),
    method: "patch",
})



/**
 * @see \App\Http\Controllers\SalePaymentController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:117
 * @route "/sales-payments/{sales_payment}"
 */
const updateForm = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: update.url(args, formSafeOptions("put", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:117
 * @route "/sales-payments/{sales_payment}"
 */
updateForm.put = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: update.url(args, formSafeOptions("put", options)),
    method: "post",
})

/**
 * @see \App\Http\Controllers\SalePaymentController::update
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/SalePaymentController.php:117
 * @route "/sales-payments/{sales_payment}"
 */
updateForm.patch = (args: { sales_payment: string | number } | [ sales_payment: string | number ] | string | number, options?: RouteQueryOptions): RouteFormDefinition<"post"> => ({
    action: update.url(args, formSafeOptions("patch", options)),
    method: "post",
})



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

destroy.definition = {
    methods: ["delete"],
    url: "/sales-payments/{sales_payment}",
} satisfies RouteDefinition<["delete"]>

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

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



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

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



destroy.form = destroyForm

const SalePaymentController = {
    index,
    create,
    store,
    show,
    edit,
    update,
    destroy,
}

export default SalePaymentController