/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; export type LiabilitySelections = { /** * The ID of the tax. */ taxId: number; /** * The UUID of the last external payroll with an unpaid liability for this tax. Set to `null` to indicate no liability. */ lastUnpaidExternalPayrollUuid: string | null; /** * The total cumulative unpaid liability amount for this tax across all external payrolls up to and including the one specified by `last_unpaid_external_payroll_uuid`. */ unpaidLiabilityAmount: string; }; /** * The request body for updating tax liability selections. */ export type TaxLiabilitySelectionsRequest = { /** * Tax liability selections to record for the company's external payrolls. */ liabilitySelections: Array; }; /** @internal */ export type LiabilitySelections$Outbound = { tax_id: number; last_unpaid_external_payroll_uuid: string | null; unpaid_liability_amount: string; }; /** @internal */ export const LiabilitySelections$outboundSchema: z.ZodType< LiabilitySelections$Outbound, z.ZodTypeDef, LiabilitySelections > = z.object({ taxId: z.number().int(), lastUnpaidExternalPayrollUuid: z.nullable(z.string()), unpaidLiabilityAmount: z.string(), }).transform((v) => { return remap$(v, { taxId: "tax_id", lastUnpaidExternalPayrollUuid: "last_unpaid_external_payroll_uuid", unpaidLiabilityAmount: "unpaid_liability_amount", }); }); export function liabilitySelectionsToJSON( liabilitySelections: LiabilitySelections, ): string { return JSON.stringify( LiabilitySelections$outboundSchema.parse(liabilitySelections), ); } /** @internal */ export type TaxLiabilitySelectionsRequest$Outbound = { liability_selections: Array; }; /** @internal */ export const TaxLiabilitySelectionsRequest$outboundSchema: z.ZodType< TaxLiabilitySelectionsRequest$Outbound, z.ZodTypeDef, TaxLiabilitySelectionsRequest > = z.object({ liabilitySelections: z.array( z.lazy(() => LiabilitySelections$outboundSchema), ), }).transform((v) => { return remap$(v, { liabilitySelections: "liability_selections", }); }); export function taxLiabilitySelectionsRequestToJSON( taxLiabilitySelectionsRequest: TaxLiabilitySelectionsRequest, ): string { return JSON.stringify( TaxLiabilitySelectionsRequest$outboundSchema.parse( taxLiabilitySelectionsRequest, ), ); }