import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Reason, Reason$Outbound } from "./reason.js";
export declare enum TimeOff2 {
    True = "true",
    False = "false"
}
/**
 * True if the end of the time off request ends half way through the day
 */
export type TimeOffEndHalfDay = boolean | TimeOff2;
export type TimeOffSchemasPolicy4 = {};
export type TimeOffSchemasPolicySourceValue = TimeOffSchemasPolicy4 | string | number | boolean | Array<any>;
/**
 * The unified value for the duration unit. If the provider does not specify this unit, the value will be set to unknown
 */
export declare enum TimeOffSchemasPolicyValue {
    Minutes = "minutes",
    Hours = "hours",
    Days = "days",
    Weeks = "weeks",
    Months = "months",
    Years = "years",
    Unknown = "unknown",
    UnmappedValue = "unmapped_value"
}
/**
 * The unified value for the duration unit. If the provider does not specify this unit, the value will be set to unknown
 */
export type TimeOffSchemasPolicyValueOpen = OpenEnum<typeof TimeOffSchemasPolicyValue>;
/**
 * The duration unit of the current policy
 */
export type TimeOffDurationUnit = {
    sourceValue?: TimeOffSchemasPolicy4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The unified value for the duration unit. If the provider does not specify this unit, the value will be set to unknown
     */
    value?: TimeOffSchemasPolicyValueOpen | null | undefined;
};
export type TimeOffSchemasPolicyType4 = {};
export type TimeOffSchemasPolicyTypeSourceValue = TimeOffSchemasPolicyType4 | string | number | boolean | Array<any>;
/**
 * The unified value for the type of the time off policy. If the provider does not specify this unit, the value will be set to unmapped_value
 */
export declare enum TimeOffSchemasPolicyTypeValue {
    Paid = "paid",
    Unpaid = "unpaid",
    Holiday = "holiday",
    Vacation = "vacation",
    Sick = "sick",
    Personal = "personal",
    InLieu = "in_lieu",
    Bereavement = "bereavement",
    JuryDuty = "jury_duty",
    UnmappedValue = "unmapped_value"
}
/**
 * The unified value for the type of the time off policy. If the provider does not specify this unit, the value will be set to unmapped_value
 */
export type TimeOffSchemasPolicyTypeValueOpen = OpenEnum<typeof TimeOffSchemasPolicyTypeValue>;
/**
 * The type of this policy
 */
export type TimeOffSchemasType = {
    sourceValue?: TimeOffSchemasPolicyType4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The unified value for the type of the time off policy. If the provider does not specify this unit, the value will be set to unmapped_value
     */
    value?: TimeOffSchemasPolicyTypeValueOpen | null | undefined;
};
/**
 * The time off policy associated with Time Off
 */
export type Policy = {
    /**
     * The created_at date of this policy
     */
    createdAt?: Date | null | undefined;
    /**
     * The description of this policy
     */
    description?: string | null | undefined;
    /**
     * The duration unit of the current policy
     */
    durationUnit?: TimeOffDurationUnit | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The name of this policy
     */
    name?: string | null | undefined;
    reasons?: Array<Reason> | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The type of this policy
     */
    type?: TimeOffSchemasType | null | undefined;
    /**
     * The updated_at date of this policy
     */
    updatedAt?: Date | null | undefined;
};
export type TimeOffReason = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export declare enum TimeOffSchemas2 {
    True = "true",
    False = "false"
}
/**
 * True if the start of the time off request begins half way through the day
 */
export type TimeOffStartHalfDay = boolean | TimeOffSchemas2;
export type TimeOff4 = {};
export type TimeOffSourceValue = TimeOff4 | string | number | boolean | Array<any>;
export declare enum TimeOffValue {
    Approved = "approved",
    Cancelled = "cancelled",
    Rejected = "rejected",
    Pending = "pending",
    Deleted = "deleted",
    Draft = "draft",
    UnmappedValue = "unmapped_value"
}
export type TimeOffValueOpen = OpenEnum<typeof TimeOffValue>;
/**
 * The status of the time off request
 */
export type TimeOffStatus = {
    sourceValue?: TimeOff4 | string | number | boolean | Array<any> | null | undefined;
    value?: TimeOffValueOpen | null | undefined;
};
export type TimeOffSchemas4 = {};
export type TimeOffSchemasSourceValue = TimeOffSchemas4 | string | number | boolean | Array<any>;
export declare enum TimeOffSchemasValue {
    Sick = "sick",
    UnmappedValue = "unmapped_value",
    Vacation = "vacation",
    LongTermDisability = "long_term_disability",
    ShortTermDisability = "short_term_disability",
    Absent = "absent",
    CompTime = "comp_time",
    Training = "training",
    AnnualLeave = "annual_leave",
    LeaveOfAbsence = "leave_of_absence",
    Break = "break",
    ChildCareLeave = "child_care_leave",
    MaternityLeave = "maternity_leave",
    JuryDuty = "jury_duty",
    BereavementLeave = "bereavement_leave",
    Sabbatical = "sabbatical",
    Accident = "accident"
}
export type TimeOffSchemasValueOpen = OpenEnum<typeof TimeOffSchemasValue>;
/**
 * The type of the time off request
 *
 * @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
 */
export type TimeOffType = {
    sourceValue?: TimeOffSchemas4 | string | number | boolean | Array<any> | null | undefined;
    value?: TimeOffSchemasValueOpen | null | undefined;
};
export type TimeOff = {
    /**
     * The approver ID
     */
    approverId?: string | null | undefined;
    /**
     * The created date of the time off request
     */
    createdDate?: Date | null | undefined;
    /**
     * The duration of the time off request
     */
    duration?: string | null | undefined;
    /**
     * The employee ID
     */
    employeeId?: string | null | undefined;
    /**
     * The end date of the time off request
     */
    endDate?: Date | null | undefined;
    /**
     * True if the end of the time off request ends half way through the day
     */
    endHalfDay?: boolean | TimeOff2 | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The time off policy associated with Time Off
     */
    policy?: Policy | null | undefined;
    reason?: TimeOffReason | null | undefined;
    /**
     * Provider's unique identifier of the approver
     */
    remoteApproverId?: string | null | undefined;
    /**
     * Provider's unique identifier of the employee
     */
    remoteEmployeeId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the time off policy id associated with this time off request
     */
    remoteTimeOffPolicyId?: string | null | undefined;
    /**
     * The start date of the time off request
     */
    startDate?: Date | null | undefined;
    /**
     * True if the start of the time off request begins half way through the day
     */
    startHalfDay?: boolean | TimeOffSchemas2 | null | undefined;
    /**
     * The status of the time off request
     */
    status?: TimeOffStatus | null | undefined;
    /**
     * The time off policy id associated with this time off request
     */
    timeOffPolicyId?: string | null | undefined;
    /**
     * The type of the time off request
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    type?: TimeOffType | null | undefined;
    /**
     * The updated date of the time off request
     */
    updatedDate?: Date | null | undefined;
};
/** @internal */
export declare const TimeOff2$inboundSchema: z.ZodNativeEnum<typeof TimeOff2>;
/** @internal */
export declare const TimeOff2$outboundSchema: z.ZodNativeEnum<typeof TimeOff2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOff2$ {
    /** @deprecated use `TimeOff2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof TimeOff2>;
    /** @deprecated use `TimeOff2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof TimeOff2>;
}
/** @internal */
export declare const TimeOffEndHalfDay$inboundSchema: z.ZodType<TimeOffEndHalfDay, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffEndHalfDay$Outbound = boolean | string;
/** @internal */
export declare const TimeOffEndHalfDay$outboundSchema: z.ZodType<TimeOffEndHalfDay$Outbound, z.ZodTypeDef, TimeOffEndHalfDay>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffEndHalfDay$ {
    /** @deprecated use `TimeOffEndHalfDay$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffEndHalfDay, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffEndHalfDay$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffEndHalfDay$Outbound, z.ZodTypeDef, TimeOffEndHalfDay>;
    /** @deprecated use `TimeOffEndHalfDay$Outbound` instead. */
    type Outbound = TimeOffEndHalfDay$Outbound;
}
export declare function timeOffEndHalfDayToJSON(timeOffEndHalfDay: TimeOffEndHalfDay): string;
export declare function timeOffEndHalfDayFromJSON(jsonString: string): SafeParseResult<TimeOffEndHalfDay, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasPolicy4$inboundSchema: z.ZodType<TimeOffSchemasPolicy4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemasPolicy4$Outbound = {};
/** @internal */
export declare const TimeOffSchemasPolicy4$outboundSchema: z.ZodType<TimeOffSchemasPolicy4$Outbound, z.ZodTypeDef, TimeOffSchemasPolicy4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasPolicy4$ {
    /** @deprecated use `TimeOffSchemasPolicy4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasPolicy4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasPolicy4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasPolicy4$Outbound, z.ZodTypeDef, TimeOffSchemasPolicy4>;
    /** @deprecated use `TimeOffSchemasPolicy4$Outbound` instead. */
    type Outbound = TimeOffSchemasPolicy4$Outbound;
}
export declare function timeOffSchemasPolicy4ToJSON(timeOffSchemasPolicy4: TimeOffSchemasPolicy4): string;
export declare function timeOffSchemasPolicy4FromJSON(jsonString: string): SafeParseResult<TimeOffSchemasPolicy4, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasPolicySourceValue$inboundSchema: z.ZodType<TimeOffSchemasPolicySourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemasPolicySourceValue$Outbound = TimeOffSchemasPolicy4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffSchemasPolicySourceValue$outboundSchema: z.ZodType<TimeOffSchemasPolicySourceValue$Outbound, z.ZodTypeDef, TimeOffSchemasPolicySourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasPolicySourceValue$ {
    /** @deprecated use `TimeOffSchemasPolicySourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasPolicySourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasPolicySourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasPolicySourceValue$Outbound, z.ZodTypeDef, TimeOffSchemasPolicySourceValue>;
    /** @deprecated use `TimeOffSchemasPolicySourceValue$Outbound` instead. */
    type Outbound = TimeOffSchemasPolicySourceValue$Outbound;
}
export declare function timeOffSchemasPolicySourceValueToJSON(timeOffSchemasPolicySourceValue: TimeOffSchemasPolicySourceValue): string;
export declare function timeOffSchemasPolicySourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffSchemasPolicySourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasPolicyValue$inboundSchema: z.ZodType<TimeOffSchemasPolicyValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffSchemasPolicyValue$outboundSchema: z.ZodType<TimeOffSchemasPolicyValueOpen, z.ZodTypeDef, TimeOffSchemasPolicyValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasPolicyValue$ {
    /** @deprecated use `TimeOffSchemasPolicyValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasPolicyValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasPolicyValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasPolicyValueOpen, z.ZodTypeDef, TimeOffSchemasPolicyValueOpen>;
}
/** @internal */
export declare const TimeOffDurationUnit$inboundSchema: z.ZodType<TimeOffDurationUnit, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffDurationUnit$Outbound = {
    source_value?: TimeOffSchemasPolicy4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TimeOffDurationUnit$outboundSchema: z.ZodType<TimeOffDurationUnit$Outbound, z.ZodTypeDef, TimeOffDurationUnit>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffDurationUnit$ {
    /** @deprecated use `TimeOffDurationUnit$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffDurationUnit, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffDurationUnit$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffDurationUnit$Outbound, z.ZodTypeDef, TimeOffDurationUnit>;
    /** @deprecated use `TimeOffDurationUnit$Outbound` instead. */
    type Outbound = TimeOffDurationUnit$Outbound;
}
export declare function timeOffDurationUnitToJSON(timeOffDurationUnit: TimeOffDurationUnit): string;
export declare function timeOffDurationUnitFromJSON(jsonString: string): SafeParseResult<TimeOffDurationUnit, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasPolicyType4$inboundSchema: z.ZodType<TimeOffSchemasPolicyType4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemasPolicyType4$Outbound = {};
/** @internal */
export declare const TimeOffSchemasPolicyType4$outboundSchema: z.ZodType<TimeOffSchemasPolicyType4$Outbound, z.ZodTypeDef, TimeOffSchemasPolicyType4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasPolicyType4$ {
    /** @deprecated use `TimeOffSchemasPolicyType4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasPolicyType4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasPolicyType4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasPolicyType4$Outbound, z.ZodTypeDef, TimeOffSchemasPolicyType4>;
    /** @deprecated use `TimeOffSchemasPolicyType4$Outbound` instead. */
    type Outbound = TimeOffSchemasPolicyType4$Outbound;
}
export declare function timeOffSchemasPolicyType4ToJSON(timeOffSchemasPolicyType4: TimeOffSchemasPolicyType4): string;
export declare function timeOffSchemasPolicyType4FromJSON(jsonString: string): SafeParseResult<TimeOffSchemasPolicyType4, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasPolicyTypeSourceValue$inboundSchema: z.ZodType<TimeOffSchemasPolicyTypeSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemasPolicyTypeSourceValue$Outbound = TimeOffSchemasPolicyType4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffSchemasPolicyTypeSourceValue$outboundSchema: z.ZodType<TimeOffSchemasPolicyTypeSourceValue$Outbound, z.ZodTypeDef, TimeOffSchemasPolicyTypeSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasPolicyTypeSourceValue$ {
    /** @deprecated use `TimeOffSchemasPolicyTypeSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasPolicyTypeSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasPolicyTypeSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasPolicyTypeSourceValue$Outbound, z.ZodTypeDef, TimeOffSchemasPolicyTypeSourceValue>;
    /** @deprecated use `TimeOffSchemasPolicyTypeSourceValue$Outbound` instead. */
    type Outbound = TimeOffSchemasPolicyTypeSourceValue$Outbound;
}
export declare function timeOffSchemasPolicyTypeSourceValueToJSON(timeOffSchemasPolicyTypeSourceValue: TimeOffSchemasPolicyTypeSourceValue): string;
export declare function timeOffSchemasPolicyTypeSourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffSchemasPolicyTypeSourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasPolicyTypeValue$inboundSchema: z.ZodType<TimeOffSchemasPolicyTypeValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffSchemasPolicyTypeValue$outboundSchema: z.ZodType<TimeOffSchemasPolicyTypeValueOpen, z.ZodTypeDef, TimeOffSchemasPolicyTypeValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasPolicyTypeValue$ {
    /** @deprecated use `TimeOffSchemasPolicyTypeValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasPolicyTypeValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasPolicyTypeValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasPolicyTypeValueOpen, z.ZodTypeDef, TimeOffSchemasPolicyTypeValueOpen>;
}
/** @internal */
export declare const TimeOffSchemasType$inboundSchema: z.ZodType<TimeOffSchemasType, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemasType$Outbound = {
    source_value?: TimeOffSchemasPolicyType4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TimeOffSchemasType$outboundSchema: z.ZodType<TimeOffSchemasType$Outbound, z.ZodTypeDef, TimeOffSchemasType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasType$ {
    /** @deprecated use `TimeOffSchemasType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasType$Outbound, z.ZodTypeDef, TimeOffSchemasType>;
    /** @deprecated use `TimeOffSchemasType$Outbound` instead. */
    type Outbound = TimeOffSchemasType$Outbound;
}
export declare function timeOffSchemasTypeToJSON(timeOffSchemasType: TimeOffSchemasType): string;
export declare function timeOffSchemasTypeFromJSON(jsonString: string): SafeParseResult<TimeOffSchemasType, SDKValidationError>;
/** @internal */
export declare const Policy$inboundSchema: z.ZodType<Policy, z.ZodTypeDef, unknown>;
/** @internal */
export type Policy$Outbound = {
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    duration_unit?: TimeOffDurationUnit$Outbound | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    reasons?: Array<Reason$Outbound> | null | undefined;
    remote_id?: string | null | undefined;
    type?: TimeOffSchemasType$Outbound | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const Policy$outboundSchema: z.ZodType<Policy$Outbound, z.ZodTypeDef, Policy>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Policy$ {
    /** @deprecated use `Policy$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Policy, z.ZodTypeDef, unknown>;
    /** @deprecated use `Policy$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Policy$Outbound, z.ZodTypeDef, Policy>;
    /** @deprecated use `Policy$Outbound` instead. */
    type Outbound = Policy$Outbound;
}
export declare function policyToJSON(policy: Policy): string;
export declare function policyFromJSON(jsonString: string): SafeParseResult<Policy, SDKValidationError>;
/** @internal */
export declare const TimeOffReason$inboundSchema: z.ZodType<TimeOffReason, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffReason$Outbound = {
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const TimeOffReason$outboundSchema: z.ZodType<TimeOffReason$Outbound, z.ZodTypeDef, TimeOffReason>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffReason$ {
    /** @deprecated use `TimeOffReason$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffReason, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffReason$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffReason$Outbound, z.ZodTypeDef, TimeOffReason>;
    /** @deprecated use `TimeOffReason$Outbound` instead. */
    type Outbound = TimeOffReason$Outbound;
}
export declare function timeOffReasonToJSON(timeOffReason: TimeOffReason): string;
export declare function timeOffReasonFromJSON(jsonString: string): SafeParseResult<TimeOffReason, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemas2$inboundSchema: z.ZodNativeEnum<typeof TimeOffSchemas2>;
/** @internal */
export declare const TimeOffSchemas2$outboundSchema: z.ZodNativeEnum<typeof TimeOffSchemas2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemas2$ {
    /** @deprecated use `TimeOffSchemas2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof TimeOffSchemas2>;
    /** @deprecated use `TimeOffSchemas2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof TimeOffSchemas2>;
}
/** @internal */
export declare const TimeOffStartHalfDay$inboundSchema: z.ZodType<TimeOffStartHalfDay, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffStartHalfDay$Outbound = boolean | string;
/** @internal */
export declare const TimeOffStartHalfDay$outboundSchema: z.ZodType<TimeOffStartHalfDay$Outbound, z.ZodTypeDef, TimeOffStartHalfDay>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffStartHalfDay$ {
    /** @deprecated use `TimeOffStartHalfDay$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffStartHalfDay, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffStartHalfDay$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffStartHalfDay$Outbound, z.ZodTypeDef, TimeOffStartHalfDay>;
    /** @deprecated use `TimeOffStartHalfDay$Outbound` instead. */
    type Outbound = TimeOffStartHalfDay$Outbound;
}
export declare function timeOffStartHalfDayToJSON(timeOffStartHalfDay: TimeOffStartHalfDay): string;
export declare function timeOffStartHalfDayFromJSON(jsonString: string): SafeParseResult<TimeOffStartHalfDay, SDKValidationError>;
/** @internal */
export declare const TimeOff4$inboundSchema: z.ZodType<TimeOff4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOff4$Outbound = {};
/** @internal */
export declare const TimeOff4$outboundSchema: z.ZodType<TimeOff4$Outbound, z.ZodTypeDef, TimeOff4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOff4$ {
    /** @deprecated use `TimeOff4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOff4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOff4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOff4$Outbound, z.ZodTypeDef, TimeOff4>;
    /** @deprecated use `TimeOff4$Outbound` instead. */
    type Outbound = TimeOff4$Outbound;
}
export declare function timeOff4ToJSON(timeOff4: TimeOff4): string;
export declare function timeOff4FromJSON(jsonString: string): SafeParseResult<TimeOff4, SDKValidationError>;
/** @internal */
export declare const TimeOffSourceValue$inboundSchema: z.ZodType<TimeOffSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSourceValue$Outbound = TimeOff4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffSourceValue$outboundSchema: z.ZodType<TimeOffSourceValue$Outbound, z.ZodTypeDef, TimeOffSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSourceValue$ {
    /** @deprecated use `TimeOffSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSourceValue$Outbound, z.ZodTypeDef, TimeOffSourceValue>;
    /** @deprecated use `TimeOffSourceValue$Outbound` instead. */
    type Outbound = TimeOffSourceValue$Outbound;
}
export declare function timeOffSourceValueToJSON(timeOffSourceValue: TimeOffSourceValue): string;
export declare function timeOffSourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffSourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffValue$inboundSchema: z.ZodType<TimeOffValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffValue$outboundSchema: z.ZodType<TimeOffValueOpen, z.ZodTypeDef, TimeOffValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffValue$ {
    /** @deprecated use `TimeOffValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffValueOpen, z.ZodTypeDef, TimeOffValueOpen>;
}
/** @internal */
export declare const TimeOffStatus$inboundSchema: z.ZodType<TimeOffStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffStatus$Outbound = {
    source_value?: TimeOff4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TimeOffStatus$outboundSchema: z.ZodType<TimeOffStatus$Outbound, z.ZodTypeDef, TimeOffStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffStatus$ {
    /** @deprecated use `TimeOffStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffStatus$Outbound, z.ZodTypeDef, TimeOffStatus>;
    /** @deprecated use `TimeOffStatus$Outbound` instead. */
    type Outbound = TimeOffStatus$Outbound;
}
export declare function timeOffStatusToJSON(timeOffStatus: TimeOffStatus): string;
export declare function timeOffStatusFromJSON(jsonString: string): SafeParseResult<TimeOffStatus, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemas4$inboundSchema: z.ZodType<TimeOffSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemas4$Outbound = {};
/** @internal */
export declare const TimeOffSchemas4$outboundSchema: z.ZodType<TimeOffSchemas4$Outbound, z.ZodTypeDef, TimeOffSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemas4$ {
    /** @deprecated use `TimeOffSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemas4$Outbound, z.ZodTypeDef, TimeOffSchemas4>;
    /** @deprecated use `TimeOffSchemas4$Outbound` instead. */
    type Outbound = TimeOffSchemas4$Outbound;
}
export declare function timeOffSchemas4ToJSON(timeOffSchemas4: TimeOffSchemas4): string;
export declare function timeOffSchemas4FromJSON(jsonString: string): SafeParseResult<TimeOffSchemas4, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasSourceValue$inboundSchema: z.ZodType<TimeOffSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffSchemasSourceValue$Outbound = TimeOffSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffSchemasSourceValue$outboundSchema: z.ZodType<TimeOffSchemasSourceValue$Outbound, z.ZodTypeDef, TimeOffSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasSourceValue$ {
    /** @deprecated use `TimeOffSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasSourceValue$Outbound, z.ZodTypeDef, TimeOffSchemasSourceValue>;
    /** @deprecated use `TimeOffSchemasSourceValue$Outbound` instead. */
    type Outbound = TimeOffSchemasSourceValue$Outbound;
}
export declare function timeOffSchemasSourceValueToJSON(timeOffSchemasSourceValue: TimeOffSchemasSourceValue): string;
export declare function timeOffSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffSchemasValue$inboundSchema: z.ZodType<TimeOffSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffSchemasValue$outboundSchema: z.ZodType<TimeOffSchemasValueOpen, z.ZodTypeDef, TimeOffSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffSchemasValue$ {
    /** @deprecated use `TimeOffSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffSchemasValueOpen, z.ZodTypeDef, TimeOffSchemasValueOpen>;
}
/** @internal */
export declare const TimeOffType$inboundSchema: z.ZodType<TimeOffType, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffType$Outbound = {
    source_value?: TimeOffSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TimeOffType$outboundSchema: z.ZodType<TimeOffType$Outbound, z.ZodTypeDef, TimeOffType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffType$ {
    /** @deprecated use `TimeOffType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffType$Outbound, z.ZodTypeDef, TimeOffType>;
    /** @deprecated use `TimeOffType$Outbound` instead. */
    type Outbound = TimeOffType$Outbound;
}
export declare function timeOffTypeToJSON(timeOffType: TimeOffType): string;
export declare function timeOffTypeFromJSON(jsonString: string): SafeParseResult<TimeOffType, SDKValidationError>;
/** @internal */
export declare const TimeOff$inboundSchema: z.ZodType<TimeOff, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOff$Outbound = {
    approver_id?: string | null | undefined;
    created_date?: string | null | undefined;
    duration?: string | null | undefined;
    employee_id?: string | null | undefined;
    end_date?: string | null | undefined;
    end_half_day?: boolean | string | null | undefined;
    id?: string | null | undefined;
    policy?: Policy$Outbound | null | undefined;
    reason?: TimeOffReason$Outbound | null | undefined;
    remote_approver_id?: string | null | undefined;
    remote_employee_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_time_off_policy_id?: string | null | undefined;
    start_date?: string | null | undefined;
    start_half_day?: boolean | string | null | undefined;
    status?: TimeOffStatus$Outbound | null | undefined;
    time_off_policy_id?: string | null | undefined;
    type?: TimeOffType$Outbound | null | undefined;
    updated_date?: string | null | undefined;
};
/** @internal */
export declare const TimeOff$outboundSchema: z.ZodType<TimeOff$Outbound, z.ZodTypeDef, TimeOff>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOff$ {
    /** @deprecated use `TimeOff$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOff, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOff$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOff$Outbound, z.ZodTypeDef, TimeOff>;
    /** @deprecated use `TimeOff$Outbound` instead. */
    type Outbound = TimeOff$Outbound;
}
export declare function timeOffToJSON(timeOff: TimeOff): string;
export declare function timeOffFromJSON(jsonString: string): SafeParseResult<TimeOff, SDKValidationError>;
//# sourceMappingURL=timeoff.d.ts.map