import * as z from "zod/v3"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { PaymentMethodBankAccount } from "./paymentmethodbankaccount.js"; export declare const ContractorPaymentMethodType: { readonly DirectDeposit: "Direct Deposit"; readonly Check: "Check"; }; export type ContractorPaymentMethodType = ClosedEnum; export declare const ContractorPaymentMethodSplitBy: { readonly Amount: "Amount"; readonly Percentage: "Percentage"; }; export type ContractorPaymentMethodSplitBy = ClosedEnum; export type ContractorPaymentMethod = { /** * The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/idempotency) for information on how to use this field. */ version?: string | undefined; /** * The payment method type. If type is Check, then `split_by` and `splits` do not need to be populated. If type is Direct Deposit, `split_by` and `splits` are required. */ type?: ContractorPaymentMethodType | null | undefined; /** * Describes how the payment will be split. If `split_by` is Percentage, then the `split` amounts must add up to exactly 100. If `split_by` is Amount, then values are in cents and the last split amount must be `null` to capture the remainder. */ splitBy?: ContractorPaymentMethodSplitBy | null | undefined; splits?: Array | null | undefined; }; /** @internal */ export declare const ContractorPaymentMethodType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ContractorPaymentMethodSplitBy$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ContractorPaymentMethod$inboundSchema: z.ZodType; export declare function contractorPaymentMethodFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=contractorpaymentmethod.d.ts.map