import type { ContractFormatted, CreditPayload, Kind, VoucherPayload, } from '@entities' import type { HttpClient } from '@services' import type { ApiError, Response } from '@types' export type Transaction = { kind: Extract amount: number due_on: string } export type CancelContractPayload = { contract: { cancellation_cause_id: number cancellation_cause_details: string voucher?: VoucherPayload['voucher'] credit?: CreditPayload['credit'] payment_transactions_attributes?: Record } } export type CancelContractInput = { contractId: string payload: CancelContractPayload } const cancelContract = (http: HttpClient) => ({ query: ( input: CancelContractInput, ): Promise> => { return http.put( `v3/admin/contracts/${input.contractId}/cancelation`, input.payload, ) }, }) export default cancelContract