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"; /** * Type of the time off policy. Only "vacation" and "sick" can be created through the API, but other types may be present if the company was previously a Gusto.com customer. */ export declare const PolicyType: { readonly Vacation: "vacation"; readonly Sick: "sick"; readonly Bereavement: "bereavement"; readonly Custom: "custom"; readonly FloatingHoliday: "floating_holiday"; readonly JuryDuty: "jury_duty"; readonly LearningAndDevelopment: "learning_and_development"; readonly ParentalLeave: "parental_leave"; readonly PersonalDay: "personal_day"; readonly Volunteer: "volunteer"; readonly Weather: "weather"; }; /** * Type of the time off policy. Only "vacation" and "sick" can be created through the API, but other types may be present if the company was previously a Gusto.com customer. */ export type PolicyType = ClosedEnum; export type TimeOffPolicyEmployees = { uuid?: string | undefined; /** * The time off balance for the employee */ balance?: string | undefined; }; /** * Representation of a Time Off Policy */ export type TimeOffPolicy = { /** * Unique identifier of a time off policy */ uuid: string; /** * Unique identifier for the company owning the time off policy */ companyUuid: string; /** * Name of the time off policy */ name: string; /** * Type of the time off policy. Only "vacation" and "sick" can be created through the API, but other types may be present if the company was previously a Gusto.com customer. */ policyType: PolicyType; /** * Policy time off accrual method */ accrualMethod: string; /** * The rate at which the time off hours will accrue for an employee on the policy. Represented as a float, e.g. "40.0". */ accrualRate?: string | null | undefined; /** * The number of hours an employee has to work or be paid for to accrue the number of hours set in the accrual rate. Only used for hourly policies (per_hour_paid, per_hour_paid_no_overtime, per_hour_work, per_hour_worked_no_overtime). Represented as a float, e.g. "40.0". */ accrualRateUnit?: string | null | undefined; /** * Boolean representing if an employee's accrued time off hours will be paid out on termination */ paidOutOnTermination?: boolean | undefined; /** * Number of days before an employee on the policy will begin accruing time off hours */ accrualWaitingPeriodDays?: number | null | undefined; /** * The max number of hours an employee can carryover from one year to the next */ carryoverLimitHours?: string | null | undefined; /** * The max number of hours an employee can accrue in a year */ maxAccrualHoursPerYear?: string | null | undefined; /** * The max number of hours an employee can accrue */ maxHours?: string | null | undefined; /** * The date the policy resets. Format MM-DD */ policyResetDate?: string | null | undefined; /** * boolean representing if a policy has completed configuration */ complete?: boolean | undefined; /** * 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. The version will be null if the policy is no longer active. */ version?: string | null | undefined; /** * boolean representing if a policy is active or not */ isActive: boolean; /** * List of employee UUIDs under a time off policy */ employees: Array; }; /** @internal */ export declare const PolicyType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const TimeOffPolicyEmployees$inboundSchema: z.ZodType; export declare function timeOffPolicyEmployeesFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const TimeOffPolicy$inboundSchema: z.ZodType; export declare function timeOffPolicyFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=timeoffpolicy.d.ts.map