import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
export declare enum HrisCreateTimeOffRequestDto2 {
    True = "true",
    False = "false"
}
/**
 * True if the end of the time off request ends half way through the day
 */
export type EndHalfDay = boolean | HrisCreateTimeOffRequestDto2;
export type HrisCreateTimeOffRequestDtoReason = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export declare enum HrisCreateTimeOffRequestDtoSchemas2 {
    True = "true",
    False = "false"
}
/**
 * True if the start of the time off request begins half way through the day
 */
export type StartHalfDay = boolean | HrisCreateTimeOffRequestDtoSchemas2;
export type HrisCreateTimeOffRequestDto4 = {};
export type HrisCreateTimeOffRequestDtoSourceValue = string | number | boolean | HrisCreateTimeOffRequestDto4 | Array<any>;
export declare enum HrisCreateTimeOffRequestDtoValue {
    Approved = "approved",
    Cancelled = "cancelled",
    Rejected = "rejected",
    Pending = "pending",
    Deleted = "deleted",
    Draft = "draft",
    UnmappedValue = "unmapped_value"
}
export type HrisCreateTimeOffRequestDtoValueOpen = OpenEnum<typeof HrisCreateTimeOffRequestDtoValue>;
/**
 * The status of the time off request
 */
export type HrisCreateTimeOffRequestDtoStatus = {
    sourceValue?: string | number | boolean | HrisCreateTimeOffRequestDto4 | Array<any> | null | undefined;
    value?: HrisCreateTimeOffRequestDtoValueOpen | null | undefined;
};
export type HrisCreateTimeOffRequestDtoSchemas4 = {};
export type HrisCreateTimeOffRequestDtoSchemasSourceValue = string | number | boolean | HrisCreateTimeOffRequestDtoSchemas4 | Array<any>;
export declare enum HrisCreateTimeOffRequestDtoSchemasValue {
    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",
    Sabbatical = "sabbatical",
    Accident = "accident",
    Paid = "paid",
    Unpaid = "unpaid",
    Holiday = "holiday",
    Personal = "personal",
    InLieu = "in_lieu",
    Bereavement = "bereavement",
    Other = "other"
}
export type HrisCreateTimeOffRequestDtoSchemasValueOpen = OpenEnum<typeof HrisCreateTimeOffRequestDtoSchemasValue>;
/**
 * 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 HrisCreateTimeOffRequestDtoType = {
    sourceValue?: string | number | boolean | HrisCreateTimeOffRequestDtoSchemas4 | Array<any> | null | undefined;
    value?: HrisCreateTimeOffRequestDtoSchemasValueOpen | null | undefined;
};
export type HrisCreateTimeOffRequestDto = {
    /**
     * The approver ID
     */
    approverId?: string | null | undefined;
    /**
     * Allows users to provide additional context or notes for their time off request
     */
    comment?: string | null | undefined;
    /**
     * Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day
     */
    endDate?: string | null | undefined;
    /**
     * True if the end of the time off request ends half way through the day
     */
    endHalfDay?: boolean | HrisCreateTimeOffRequestDto2 | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    reason?: HrisCreateTimeOffRequestDtoReason | null | undefined;
    /**
     * The start date of the time off request (ISO8601 date-time without timezone)
     */
    startDate?: string | null | undefined;
    /**
     * True if the start of the time off request begins half way through the day
     */
    startHalfDay?: boolean | HrisCreateTimeOffRequestDtoSchemas2 | null | undefined;
    /**
     * The status of the time off request
     */
    status?: HrisCreateTimeOffRequestDtoStatus | 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?: HrisCreateTimeOffRequestDtoType | null | undefined;
};
/** @internal */
export declare const HrisCreateTimeOffRequestDto2$outboundSchema: z.ZodNativeEnum<typeof HrisCreateTimeOffRequestDto2>;
/** @internal */
export type EndHalfDay$Outbound = boolean | string;
/** @internal */
export declare const EndHalfDay$outboundSchema: z.ZodType<EndHalfDay$Outbound, z.ZodTypeDef, EndHalfDay>;
export declare function endHalfDayToJSON(endHalfDay: EndHalfDay): string;
/** @internal */
export type HrisCreateTimeOffRequestDtoReason$Outbound = {
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const HrisCreateTimeOffRequestDtoReason$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDtoReason$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDtoReason>;
export declare function hrisCreateTimeOffRequestDtoReasonToJSON(hrisCreateTimeOffRequestDtoReason: HrisCreateTimeOffRequestDtoReason): string;
/** @internal */
export declare const HrisCreateTimeOffRequestDtoSchemas2$outboundSchema: z.ZodNativeEnum<typeof HrisCreateTimeOffRequestDtoSchemas2>;
/** @internal */
export type StartHalfDay$Outbound = boolean | string;
/** @internal */
export declare const StartHalfDay$outboundSchema: z.ZodType<StartHalfDay$Outbound, z.ZodTypeDef, StartHalfDay>;
export declare function startHalfDayToJSON(startHalfDay: StartHalfDay): string;
/** @internal */
export type HrisCreateTimeOffRequestDto4$Outbound = {};
/** @internal */
export declare const HrisCreateTimeOffRequestDto4$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDto4$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDto4>;
export declare function hrisCreateTimeOffRequestDto4ToJSON(hrisCreateTimeOffRequestDto4: HrisCreateTimeOffRequestDto4): string;
/** @internal */
export type HrisCreateTimeOffRequestDtoSourceValue$Outbound = string | number | boolean | HrisCreateTimeOffRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const HrisCreateTimeOffRequestDtoSourceValue$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDtoSourceValue$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDtoSourceValue>;
export declare function hrisCreateTimeOffRequestDtoSourceValueToJSON(hrisCreateTimeOffRequestDtoSourceValue: HrisCreateTimeOffRequestDtoSourceValue): string;
/** @internal */
export declare const HrisCreateTimeOffRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, HrisCreateTimeOffRequestDtoValueOpen>;
/** @internal */
export type HrisCreateTimeOffRequestDtoStatus$Outbound = {
    source_value?: string | number | boolean | HrisCreateTimeOffRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HrisCreateTimeOffRequestDtoStatus$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDtoStatus$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDtoStatus>;
export declare function hrisCreateTimeOffRequestDtoStatusToJSON(hrisCreateTimeOffRequestDtoStatus: HrisCreateTimeOffRequestDtoStatus): string;
/** @internal */
export type HrisCreateTimeOffRequestDtoSchemas4$Outbound = {};
/** @internal */
export declare const HrisCreateTimeOffRequestDtoSchemas4$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDtoSchemas4$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDtoSchemas4>;
export declare function hrisCreateTimeOffRequestDtoSchemas4ToJSON(hrisCreateTimeOffRequestDtoSchemas4: HrisCreateTimeOffRequestDtoSchemas4): string;
/** @internal */
export type HrisCreateTimeOffRequestDtoSchemasSourceValue$Outbound = string | number | boolean | HrisCreateTimeOffRequestDtoSchemas4$Outbound | Array<any>;
/** @internal */
export declare const HrisCreateTimeOffRequestDtoSchemasSourceValue$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDtoSchemasSourceValue$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDtoSchemasSourceValue>;
export declare function hrisCreateTimeOffRequestDtoSchemasSourceValueToJSON(hrisCreateTimeOffRequestDtoSchemasSourceValue: HrisCreateTimeOffRequestDtoSchemasSourceValue): string;
/** @internal */
export declare const HrisCreateTimeOffRequestDtoSchemasValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, HrisCreateTimeOffRequestDtoSchemasValueOpen>;
/** @internal */
export type HrisCreateTimeOffRequestDtoType$Outbound = {
    source_value?: string | number | boolean | HrisCreateTimeOffRequestDtoSchemas4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HrisCreateTimeOffRequestDtoType$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDtoType$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDtoType>;
export declare function hrisCreateTimeOffRequestDtoTypeToJSON(hrisCreateTimeOffRequestDtoType: HrisCreateTimeOffRequestDtoType): string;
/** @internal */
export type HrisCreateTimeOffRequestDto$Outbound = {
    approver_id?: string | null | undefined;
    comment?: string | null | undefined;
    end_date?: string | null | undefined;
    end_half_day?: boolean | string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    reason?: HrisCreateTimeOffRequestDtoReason$Outbound | null | undefined;
    start_date?: string | null | undefined;
    start_half_day?: boolean | string | null | undefined;
    status?: HrisCreateTimeOffRequestDtoStatus$Outbound | null | undefined;
    time_off_policy_id?: string | null | undefined;
    type?: HrisCreateTimeOffRequestDtoType$Outbound | null | undefined;
};
/** @internal */
export declare const HrisCreateTimeOffRequestDto$outboundSchema: z.ZodType<HrisCreateTimeOffRequestDto$Outbound, z.ZodTypeDef, HrisCreateTimeOffRequestDto>;
export declare function hrisCreateTimeOffRequestDtoToJSON(hrisCreateTimeOffRequestDto: HrisCreateTimeOffRequestDto): string;
//# sourceMappingURL=hriscreatetimeoffrequestdto.d.ts.map