import { queryParams, type RouteQueryOptions, type RouteDefinition, type RouteFormDefinition } from './../../../../wayfinder'
/**
* @see routes/quickbooks.php:23
* @route '/quickbooks/sync/customers-from-quickbooks/resync'
*/
export const resync = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: resync.url(options),
    method: 'post',
})

resync.definition = {
    methods: ["post"],
    url: '/quickbooks/sync/customers-from-quickbooks/resync',
} satisfies RouteDefinition<["post"]>

/**
* @see routes/quickbooks.php:23
* @route '/quickbooks/sync/customers-from-quickbooks/resync'
*/
resync.url = (options?: RouteQueryOptions) => {
    return resync.definition.url + queryParams(options)
}

/**
* @see routes/quickbooks.php:23
* @route '/quickbooks/sync/customers-from-quickbooks/resync'
*/
resync.post = (options?: RouteQueryOptions): RouteDefinition<'post'> => ({
    url: resync.url(options),
    method: 'post',
})

/**
* @see routes/quickbooks.php:23
* @route '/quickbooks/sync/customers-from-quickbooks/resync'
*/
const resyncForm = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: resync.url(options),
    method: 'post',
})

/**
* @see routes/quickbooks.php:23
* @route '/quickbooks/sync/customers-from-quickbooks/resync'
*/
resyncForm.post = (options?: RouteQueryOptions): RouteFormDefinition<'post'> => ({
    action: resync.url(options),
    method: 'post',
})

resync.form = resyncForm

const customersFromQuickbooks = {
    resync: Object.assign(resync, resync),
}

export default customersFromQuickbooks