import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Amount, Amount$Outbound } from "./amount.js"; import { Cancellation, Cancellation$Outbound } from "./cancellation.js"; import { CardAcquiringDispute, CardAcquiringDispute$Outbound } from "./cardacquiringdispute.js"; import { CardAcquiringRefund, CardAcquiringRefund$Outbound } from "./cardacquiringrefund.js"; import { FacilitatorFee, FacilitatorFee$Outbound } from "./facilitatorfee.js"; import { MoovFee, MoovFee$Outbound } from "./moovfee.js"; import { MoovFeeDetails, MoovFeeDetails$Outbound } from "./moovfeedetails.js"; import { TransferDestination, TransferDestination$Outbound } from "./transferdestination.js"; import { TransferFailureReason } from "./transferfailurereason.js"; import { TransferLineItems, TransferLineItems$Outbound } from "./transferlineitems.js"; import { TransferSource, TransferSource$Outbound } from "./transfersource.js"; import { TransferStatus } from "./transferstatus.js"; /** * Details of a Transfer. */ export type Transfer = { transferID: string; createdOn: Date; source: TransferSource; destination: TransferDestination; completedOn?: Date | undefined; /** * Status of a transfer. */ status: TransferStatus; /** * Reason for a transfer's failure. */ failureReason?: TransferFailureReason | undefined; amount: Amount; /** * An optional description of the transfer that is used on receipts and for your own internal use. */ description?: string | undefined; /** * Free-form key-value pair list. Useful for storing information that is not captured elsewhere. */ metadata?: { [k: string]: string; } | undefined; /** * Total or markup fee. */ facilitatorFee?: FacilitatorFee | undefined; /** * Fees charged to your platform account for transfers. */ moovFee?: number | undefined; /** * Same as `moovFee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. */ moovFeeDecimal?: string | undefined; /** * Processing and pass-through costs that add up to the moovFee. */ moovFeeDetails?: MoovFeeDetails | undefined; /** * Fees charged to accounts involved in the transfer. */ moovFees?: Array | undefined; groupID?: string | undefined; cancellations?: Array | undefined; refundedAmount?: Amount | undefined; refunds?: Array | undefined; disputedAmount?: Amount | undefined; disputes?: Array | undefined; /** * ID of the sweep that created this transfer. */ sweepID?: string | undefined; scheduleID?: string | undefined; occurrenceID?: string | undefined; paymentLinkCode?: string | undefined; /** * Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged. */ salesTaxAmount?: Amount | undefined; /** * Optional alias from a foreign/external system which can be used to reference this resource. */ foreignID?: string | undefined; /** * An optional collection of line items for a transfer. * * @remarks * When line items are provided, their total plus sales tax must equal the transfer amount. */ lineItems?: TransferLineItems | undefined; }; /** @internal */ export declare const Transfer$inboundSchema: z.ZodType; /** @internal */ export type Transfer$Outbound = { transferID: string; createdOn: string; source: TransferSource$Outbound; destination: TransferDestination$Outbound; completedOn?: string | undefined; status: string; failureReason?: string | undefined; amount: Amount$Outbound; description?: string | undefined; metadata?: { [k: string]: string; } | undefined; facilitatorFee?: FacilitatorFee$Outbound | undefined; moovFee?: number | undefined; moovFeeDecimal?: string | undefined; moovFeeDetails?: MoovFeeDetails$Outbound | undefined; moovFees?: Array | undefined; groupID?: string | undefined; cancellations?: Array | undefined; refundedAmount?: Amount$Outbound | undefined; refunds?: Array | undefined; disputedAmount?: Amount$Outbound | undefined; disputes?: Array | undefined; sweepID?: string | undefined; scheduleID?: string | undefined; occurrenceID?: string | undefined; paymentLinkCode?: string | undefined; salesTaxAmount?: Amount$Outbound | undefined; foreignID?: string | undefined; lineItems?: TransferLineItems$Outbound | undefined; }; /** @internal */ export declare const Transfer$outboundSchema: z.ZodType; export declare function transferToJSON(transfer: Transfer): string; export declare function transferFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=transfer.d.ts.map