// 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\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/sale-agreements/{saleAgreement}/statements"
 */
export const indexb948fd3fd9363ab85c0ff784f2b1dfa0 = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteDefinition<"get"> => ({
    url: indexb948fd3fd9363ab85c0ff784f2b1dfa0.url(args, options),
    method: "get",
})

indexb948fd3fd9363ab85c0ff784f2b1dfa0.definition = {
    methods: ["get","head"],
    url: "/sale-agreements/{saleAgreement}/statements",
} satisfies RouteDefinition<["get","head"]>

/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/sale-agreements/{saleAgreement}/statements"
 */
indexb948fd3fd9363ab85c0ff784f2b1dfa0.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 indexb948fd3fd9363ab85c0ff784f2b1dfa0.definition.url
        .replace("{saleAgreement}", parsedArgs.saleAgreement.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

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

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



/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/sale-agreements/{saleAgreement}/statements"
 */
const indexb948fd3fd9363ab85c0ff784f2b1dfa0Form = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: indexb948fd3fd9363ab85c0ff784f2b1dfa0.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/sale-agreements/{saleAgreement}/statements"
 */
indexb948fd3fd9363ab85c0ff784f2b1dfa0Form.get = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: indexb948fd3fd9363ab85c0ff784f2b1dfa0.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/sale-agreements/{saleAgreement}/statements"
 */
indexb948fd3fd9363ab85c0ff784f2b1dfa0Form.head = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: indexb948fd3fd9363ab85c0ff784f2b1dfa0.url(args, formSafeOptions("head", options)),
    method: "get",
})



indexb948fd3fd9363ab85c0ff784f2b1dfa0.form = indexb948fd3fd9363ab85c0ff784f2b1dfa0Form

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

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

/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/loan-sale-agreements/{saleAgreement}/statements"
 */
index579b055760c601d58555d66d2501b44d.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 index579b055760c601d58555d66d2501b44d.definition.url
        .replace("{saleAgreement}", parsedArgs.saleAgreement.toString())
        .replace(/\/+$/, "") + queryParams(options)
}

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

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



/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/loan-sale-agreements/{saleAgreement}/statements"
 */
const index579b055760c601d58555d66d2501b44dForm = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index579b055760c601d58555d66d2501b44d.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/loan-sale-agreements/{saleAgreement}/statements"
 */
index579b055760c601d58555d66d2501b44dForm.get = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index579b055760c601d58555d66d2501b44d.url(args, options),
    method: "get",
})

/**
 * @see \App\Http\Controllers\StatementController::index
 * @see /var/www/html/faraja-vendible/app/Http/Controllers/StatementController.php:18
 * @route "/loan-sale-agreements/{saleAgreement}/statements"
 */
index579b055760c601d58555d66d2501b44dForm.head = (args: { saleAgreement: number | { id: number } } | [ saleAgreement: number | { id: number } ] | number | { id: number }, options?: RouteQueryOptions): RouteFormDefinition<"get"> => ({
    action: index579b055760c601d58555d66d2501b44d.url(args, formSafeOptions("head", options)),
    method: "get",
})



index579b055760c601d58555d66d2501b44d.form = index579b055760c601d58555d66d2501b44dForm

export const index = {
    "/sale-agreements/{saleAgreement}/statements": indexb948fd3fd9363ab85c0ff784f2b1dfa0,
    "/loan-sale-agreements/{saleAgreement}/statements": index579b055760c601d58555d66d2501b44d,
}

const StatementController = {
    index,
}

export default StatementController