import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../wayfinder'
import trialBalance39711b from './trial-balance'
import balanceSheetBd94f5 from './balance-sheet'
import incomeStatementD26ff4 from './income-statement'
/**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
export const trialBalance = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: trialBalance.url(options),
    method: 'get',
})

trialBalance.definition = {
    methods: ["get","head"],
    url: '/accounting/reports/trial-balance',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
trialBalance.url = (options?: RouteQueryOptions) => {
    return trialBalance.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
trialBalance.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: trialBalance.url(options),
    method: 'get',
})
/**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
trialBalance.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: trialBalance.url(options),
    method: 'head',
})

    /**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
    const trialBalanceForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
        action: trialBalance.url(options),
        method: 'get',
    })

            /**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
        trialBalanceForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: trialBalance.url(options),
            method: 'get',
        })
            /**
* @see \App\Http\Controllers\AccountingController::trialBalance
 * @see app/Http/Controllers/AccountingController.php:123
 * @route '/accounting/reports/trial-balance'
 */
        trialBalanceForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: trialBalance.url({
                        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
                            _method: 'HEAD',
                            ...(options?.query ?? options?.mergeQuery ?? {}),
                        }
                    }),
            method: 'get',
        })
    
    trialBalance.form = trialBalanceForm
/**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
export const balanceSheet = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: balanceSheet.url(options),
    method: 'get',
})

balanceSheet.definition = {
    methods: ["get","head"],
    url: '/accounting/reports/balance-sheet',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
balanceSheet.url = (options?: RouteQueryOptions) => {
    return balanceSheet.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
balanceSheet.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: balanceSheet.url(options),
    method: 'get',
})
/**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
balanceSheet.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: balanceSheet.url(options),
    method: 'head',
})

    /**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
    const balanceSheetForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
        action: balanceSheet.url(options),
        method: 'get',
    })

            /**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
        balanceSheetForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: balanceSheet.url(options),
            method: 'get',
        })
            /**
* @see \App\Http\Controllers\AccountingController::balanceSheet
 * @see app/Http/Controllers/AccountingController.php:162
 * @route '/accounting/reports/balance-sheet'
 */
        balanceSheetForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: balanceSheet.url({
                        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
                            _method: 'HEAD',
                            ...(options?.query ?? options?.mergeQuery ?? {}),
                        }
                    }),
            method: 'get',
        })
    
    balanceSheet.form = balanceSheetForm
/**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
export const incomeStatement = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: incomeStatement.url(options),
    method: 'get',
})

incomeStatement.definition = {
    methods: ["get","head"],
    url: '/accounting/reports/income-statement',
} satisfies RouteDefinition<["get","head"]>

/**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
incomeStatement.url = (options?: RouteQueryOptions) => {
    return incomeStatement.definition.url + queryParams(options)
}

/**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
incomeStatement.get = (options?: RouteQueryOptions): RouteDefinition<'get'> => ({
    url: incomeStatement.url(options),
    method: 'get',
})
/**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
incomeStatement.head = (options?: RouteQueryOptions): RouteDefinition<'head'> => ({
    url: incomeStatement.url(options),
    method: 'head',
})

    /**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
    const incomeStatementForm = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
        action: incomeStatement.url(options),
        method: 'get',
    })

            /**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
        incomeStatementForm.get = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: incomeStatement.url(options),
            method: 'get',
        })
            /**
* @see \App\Http\Controllers\AccountingController::incomeStatement
 * @see app/Http/Controllers/AccountingController.php:205
 * @route '/accounting/reports/income-statement'
 */
        incomeStatementForm.head = (options?: RouteQueryOptions): RouteFormDefinition<'get'> => ({
            action: incomeStatement.url({
                        [options?.mergeQuery ? 'mergeQuery' : 'query']: {
                            _method: 'HEAD',
                            ...(options?.query ?? options?.mergeQuery ?? {}),
                        }
                    }),
            method: 'get',
        })
    
    incomeStatement.form = incomeStatementForm
const reports = {
    trialBalance: Object.assign(trialBalance, trialBalance39711b),
balanceSheet: Object.assign(balanceSheet, balanceSheetBd94f5),
incomeStatement: Object.assign(incomeStatement, incomeStatementD26ff4),
}

export default reports