import * as z from "zod/v3"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { HTTPMetadata } from "../components/httpmetadata.js"; import { TimeOffPolicy } from "../components/timeoffpolicy.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 PutV1TimeOffPoliciesTimeOffPolicyUuidHeaderXGustoAPIVersion: { 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 PutV1TimeOffPoliciesTimeOffPolicyUuidHeaderXGustoAPIVersion = ClosedEnum; /** * Type of the time off policy. Currently only "vacation" and "sick" are supported */ export declare const PolicyType: { readonly Vacation: "vacation"; readonly Sick: "sick"; }; /** * Type of the time off policy. Currently only "vacation" and "sick" are supported */ export type PolicyType = ClosedEnum; /** * Accrual method of the time off policy */ export declare const AccrualMethod: { readonly Unlimited: "unlimited"; readonly PerPayPeriod: "per_pay_period"; readonly PerCalendarYear: "per_calendar_year"; readonly PerAnniversaryYear: "per_anniversary_year"; readonly PerHourWorked: "per_hour_worked"; readonly PerHourWorkedNoOvertime: "per_hour_worked_no_overtime"; readonly PerHourPaid: "per_hour_paid"; readonly PerHourPaidNoOvertime: "per_hour_paid_no_overtime"; }; /** * Accrual method of the time off policy */ export type AccrualMethod = ClosedEnum; /** * Request body for updating a time off policy */ export type PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody = { /** * Name of the time off policy */ name?: string | undefined; /** * Type of the time off policy. Currently only "vacation" and "sick" are supported */ policyType?: PolicyType | undefined; /** * Accrual method of the time off policy */ accrualMethod?: AccrualMethod | undefined; /** * 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. If accrual_method is unlimited, then paid_out_on_termination must be `false`. */ paidOutOnTermination?: boolean | undefined; /** * Number of days before an employee on the policy will begin accruing time off hours. If accrual_method is per_anniversary_year, per_calendar_year, or unlimited, then accrual_waiting_period_days should be 0. */ accrualWaitingPeriodDays?: number | null | undefined; /** * The max number of hours an employee can carryover from one year to the next. If accrual_method is unlimited, then carryover_limit_hours must be blank. */ carryoverLimitHours?: string | null | undefined; /** * The max number of hours an employee can accrue in a year. If accrual_method is yearly (per_anniversary_year, per_calendar_year) or unlimited, then max_accrual_hours_per_year must be blank. */ maxAccrualHoursPerYear?: string | null | undefined; /** * The max number of hours an employee can accrue. If accrual_method is unlimited, then max_hours must be blank. */ 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/idempotency) for information on how to use this field. */ version: string; }; export type PutV1TimeOffPoliciesTimeOffPolicyUuidRequest = { /** * 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?: PutV1TimeOffPoliciesTimeOffPolicyUuidHeaderXGustoAPIVersion | undefined; /** * The UUID of the time off policy */ timeOffPolicyUuid: string; requestBody: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody; }; export type PutV1TimeOffPoliciesTimeOffPolicyUuidResponse = { httpMeta: HTTPMetadata; /** * successful */ timeOffPolicy?: TimeOffPolicy | undefined; }; /** @internal */ export declare const PutV1TimeOffPoliciesTimeOffPolicyUuidHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const PolicyType$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const AccrualMethod$outboundSchema: z.ZodNativeEnum; /** @internal */ export type PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody$Outbound = { name?: string | undefined; policy_type?: string | undefined; accrual_method?: string | undefined; accrual_rate?: string | null | undefined; accrual_rate_unit?: string | null | undefined; paid_out_on_termination?: boolean | undefined; accrual_waiting_period_days?: number | null | undefined; carryover_limit_hours?: string | null | undefined; max_accrual_hours_per_year?: string | null | undefined; max_hours?: string | null | undefined; policy_reset_date?: string | null | undefined; complete?: boolean | undefined; version: string; }; /** @internal */ export declare const PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody$outboundSchema: z.ZodType; export declare function putV1TimeOffPoliciesTimeOffPolicyUuidRequestBodyToJSON(putV1TimeOffPoliciesTimeOffPolicyUuidRequestBody: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody): string; /** @internal */ export type PutV1TimeOffPoliciesTimeOffPolicyUuidRequest$Outbound = { "X-Gusto-API-Version": string; time_off_policy_uuid: string; RequestBody: PutV1TimeOffPoliciesTimeOffPolicyUuidRequestBody$Outbound; }; /** @internal */ export declare const PutV1TimeOffPoliciesTimeOffPolicyUuidRequest$outboundSchema: z.ZodType; export declare function putV1TimeOffPoliciesTimeOffPolicyUuidRequestToJSON(putV1TimeOffPoliciesTimeOffPolicyUuidRequest: PutV1TimeOffPoliciesTimeOffPolicyUuidRequest): string; /** @internal */ export declare const PutV1TimeOffPoliciesTimeOffPolicyUuidResponse$inboundSchema: z.ZodType; export declare function putV1TimeOffPoliciesTimeOffPolicyUuidResponseFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=putv1timeoffpoliciestimeoffpolicyuuid.d.ts.map