import * as z from "zod/v3"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { EmployeePaymentMethod } from "../components/employeepaymentmethod.js"; import { HTTPMetadata } from "../components/httpmetadata.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export declare const PutV1EmployeesEmployeeIdPaymentMethodHeaderXGustoAPIVersion: { readonly TwoThousandAndTwentyFiveMinus06Minus15: "2025-06-15"; }; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export type PutV1EmployeesEmployeeIdPaymentMethodHeaderXGustoAPIVersion = ClosedEnum; /** * The payment method type. If type is Check, split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. */ export declare const Type: { readonly Check: "Check"; readonly DirectDeposit: "Direct Deposit"; }; /** * The payment method type. If type is Check, split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. */ export type Type = ClosedEnum; export declare const SplitBy: { readonly Percentage: "Percentage"; readonly Amount: "Amount"; }; export type SplitBy = ClosedEnum; export type Splits = { /** * The bank account UUID. */ uuid?: string | undefined; /** * The bank account name. */ name?: string | undefined; /** * Order of priority for each payment split; priority 1 is the first account paid. Must be unique and sequential. */ priority?: number | undefined; /** * If split_by is Amount, value is in cents (e.g., 500 for $5.00) and exactly one account must have null to capture the remainder. If split_by is Percentage, value is the percentage (e.g., 60 for 60%). */ splitAmount?: number | null | undefined; }; export type PutV1EmployeesEmployeeIdPaymentMethodRequestBody = { /** * The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. */ version: string; /** * The payment method type. If type is Check, split_by and splits do not need to be populated. If type is Direct Deposit, split_by and splits are required. */ type: Type; /** * How the payment will be split. If Percentage, split amounts must add up to exactly 100. If Amount, values are in cents and the last split amount must be null to capture the remainder. */ splitBy?: SplitBy | null | undefined; /** * Array of payment splits. Required when type is Direct Deposit. */ splits?: Array | null | undefined; }; export type PutV1EmployeesEmployeeIdPaymentMethodRequest = { /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ xGustoAPIVersion?: PutV1EmployeesEmployeeIdPaymentMethodHeaderXGustoAPIVersion | undefined; /** * The UUID of the employee */ employeeId: string; requestBody: PutV1EmployeesEmployeeIdPaymentMethodRequestBody; }; export type PutV1EmployeesEmployeeIdPaymentMethodResponse = { httpMeta: HTTPMetadata; /** * Successful */ employeePaymentMethod?: EmployeePaymentMethod | undefined; }; /** @internal */ export declare const PutV1EmployeesEmployeeIdPaymentMethodHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Type$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const SplitBy$outboundSchema: z.ZodNativeEnum; /** @internal */ export type Splits$Outbound = { uuid?: string | undefined; name?: string | undefined; priority?: number | undefined; split_amount?: number | null | undefined; }; /** @internal */ export declare const Splits$outboundSchema: z.ZodType; export declare function splitsToJSON(splits: Splits): string; /** @internal */ export type PutV1EmployeesEmployeeIdPaymentMethodRequestBody$Outbound = { version: string; type: string; split_by?: string | null | undefined; splits?: Array | null | undefined; }; /** @internal */ export declare const PutV1EmployeesEmployeeIdPaymentMethodRequestBody$outboundSchema: z.ZodType; export declare function putV1EmployeesEmployeeIdPaymentMethodRequestBodyToJSON(putV1EmployeesEmployeeIdPaymentMethodRequestBody: PutV1EmployeesEmployeeIdPaymentMethodRequestBody): string; /** @internal */ export type PutV1EmployeesEmployeeIdPaymentMethodRequest$Outbound = { "X-Gusto-API-Version": string; employee_id: string; RequestBody: PutV1EmployeesEmployeeIdPaymentMethodRequestBody$Outbound; }; /** @internal */ export declare const PutV1EmployeesEmployeeIdPaymentMethodRequest$outboundSchema: z.ZodType; export declare function putV1EmployeesEmployeeIdPaymentMethodRequestToJSON(putV1EmployeesEmployeeIdPaymentMethodRequest: PutV1EmployeesEmployeeIdPaymentMethodRequest): string; /** @internal */ export declare const PutV1EmployeesEmployeeIdPaymentMethodResponse$inboundSchema: z.ZodType; export declare function putV1EmployeesEmployeeIdPaymentMethodResponseFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=putv1employeesemployeeidpaymentmethod.d.ts.map