import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { AmountDecimal, AmountDecimal$Outbound } from "./amountdecimal.js"; export type Residual = { /** * Unique identifier for this residual payment calculation. */ residualID: string; /** * The partner account ID this residual belongs to. */ partnerAccountID: string; /** * Start date and time of the residual calculation period. */ periodStart: Date; /** * End date and time of the residual calculation period. */ periodEnd: Date; /** * Total amount of merchant fees collected during the period. This represents the partner's revenue from merchant fees. */ merchantFees: AmountDecimal; /** * Partner's total cost (buy rate) during the period. */ partnerCost: AmountDecimal; /** * Net income calculated as merchant fee revenue minus partner costs. */ netIncome: AmountDecimal; /** * The revenue share percentage the partner receives, expressed as a decimal string (e.g., "25.00" for 25%). */ revenueShare: string; /** * The amount the partner receives as their share of the net income (netIncome × revenueShare). */ residualAmount: AmountDecimal; /** * Timestamp when the residual was created. */ createdOn: Date; /** * Timestamp when the residual was last updated. */ updatedOn: Date; }; /** @internal */ export declare const Residual$inboundSchema: z.ZodType; /** @internal */ export type Residual$Outbound = { residualID: string; partnerAccountID: string; periodStart: string; periodEnd: string; merchantFees: AmountDecimal$Outbound; partnerCost: AmountDecimal$Outbound; netIncome: AmountDecimal$Outbound; revenueShare: string; residualAmount: AmountDecimal$Outbound; createdOn: string; updatedOn: string; }; /** @internal */ export declare const Residual$outboundSchema: z.ZodType; export declare function residualToJSON(residual: Residual): string; export declare function residualFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=residual.d.ts.map