import * as z from "zod"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { AllocationInput, AllocationInput$Outbound } from "./allocation.js"; import { Currency } from "./currency.js"; import { CustomField, CustomField$Outbound } from "./customfield.js"; import { DeprecatedLinkedSupplierInput, DeprecatedLinkedSupplierInput$Outbound } from "./deprecatedlinkedsupplierinput.js"; import { LinkedCustomerInput, LinkedCustomerInput$Outbound } from "./linkedcustomerinput.js"; import { LinkedLedgerAccountInput, LinkedLedgerAccountInput$Outbound } from "./linkedledgeraccountinput.js"; import { LinkedTrackingCategory, LinkedTrackingCategory$Outbound } from "./linkedtrackingcategory.js"; import { PassThroughBody, PassThroughBody$Outbound } from "./passthroughbody.js"; import { PaymentStatus } from "./paymentstatus.js"; import { PaymentType } from "./paymenttype.js"; export type PaymentInput = { /** * Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). */ currency?: Currency | null | undefined; /** * Currency Exchange Rate at the time entity was recorded/generated. */ currencyRate?: number | null | undefined; /** * The total amount of the transaction */ totalAmount: number | null; /** * Optional transaction reference message ie: Debit remittance detail. */ reference?: string | null | undefined; /** * Payment method used for the transaction, such as cash, credit card, bank transfer, or check */ paymentMethod?: string | null | undefined; /** * Optional reference message returned by payment method on processing */ paymentMethodReference?: string | null | undefined; /** * A unique identifier for an object. */ paymentMethodId?: string | null | undefined; /** * Type of accounts receivable account. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ accountsReceivableAccountType?: string | null | undefined; /** * Unique identifier for the account to allocate payment to. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ accountsReceivableAccountId?: string | null | undefined; account?: LinkedLedgerAccountInput | null | undefined; /** * The date of the transaction - YYYY:MM::DDThh:mm:ss.sTZD */ transactionDate: Date | null; /** * The customer this entity is linked to. */ customer?: LinkedCustomerInput | null | undefined; /** * The supplier this entity is linked to. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ supplier?: DeprecatedLinkedSupplierInput | null | undefined; /** * The company or subsidiary id the transaction belongs to */ companyId?: string | null | undefined; /** * Indicates if the transaction has been reconciled. */ reconciled?: boolean | null | undefined; /** * Status of payment */ status?: PaymentStatus | undefined; /** * Type of payment */ type?: PaymentType | undefined; allocations?: Array | undefined; /** * Note associated with the transaction */ note?: string | null | undefined; /** * Number associated with the transaction */ number?: string | null | undefined; /** * A list of linked tracking categories. */ trackingCategories?: Array | null | undefined; customFields?: Array | undefined; /** * A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object. */ rowVersion?: string | null | undefined; /** * Id to be displayed. */ displayId?: string | null | undefined; /** * The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. */ passThrough?: Array | undefined; }; /** @internal */ export declare const PaymentInput$inboundSchema: z.ZodType; /** @internal */ export type PaymentInput$Outbound = { currency?: string | null | undefined; currency_rate?: number | null | undefined; total_amount: number | null; reference?: string | null | undefined; payment_method?: string | null | undefined; payment_method_reference?: string | null | undefined; payment_method_id?: string | null | undefined; accounts_receivable_account_type?: string | null | undefined; accounts_receivable_account_id?: string | null | undefined; account?: LinkedLedgerAccountInput$Outbound | null | undefined; transaction_date: string | null; customer?: LinkedCustomerInput$Outbound | null | undefined; supplier?: DeprecatedLinkedSupplierInput$Outbound | null | undefined; company_id?: string | null | undefined; reconciled?: boolean | null | undefined; status?: string | undefined; type?: string | undefined; allocations?: Array | undefined; note?: string | null | undefined; number?: string | null | undefined; tracking_categories?: Array | null | undefined; custom_fields?: Array | undefined; row_version?: string | null | undefined; display_id?: string | null | undefined; pass_through?: Array | undefined; }; /** @internal */ export declare const PaymentInput$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace PaymentInput$ { /** @deprecated use `PaymentInput$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `PaymentInput$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `PaymentInput$Outbound` instead. */ type Outbound = PaymentInput$Outbound; } export declare function paymentInputToJSON(paymentInput: PaymentInput): string; export declare function paymentInputFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=paymentinput.d.ts.map