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 type TimeOffBalances4 = {};
export type TimeOffBalancesSourceValue = TimeOffBalances4 | 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 TimeOffBalancesValue {
    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 TimeOffBalancesValueOpen = OpenEnum<typeof TimeOffBalancesValue>;
/**
 * The duration unit of the current balance
 */
export type BalanceUnit = {
    sourceValue?: TimeOffBalances4 | 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?: TimeOffBalancesValueOpen | null | undefined;
};
export type TimeOffBalancesSchemas4 = {};
export type TimeOffBalancesSchemasSourceValue = TimeOffBalancesSchemas4 | 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 TimeOffBalancesSchemasValue {
    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 TimeOffBalancesSchemasValueOpen = OpenEnum<typeof TimeOffBalancesSchemasValue>;
/**
 * The duration unit of the current policy
 */
export type TimeOffBalancesDurationUnit = {
    sourceValue?: TimeOffBalancesSchemas4 | 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?: TimeOffBalancesSchemasValueOpen | null | undefined;
};
export type TimeOffBalancesSchemasPolicy4 = {};
export type TimeOffBalancesSchemasPolicySourceValue = TimeOffBalancesSchemasPolicy4 | 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 TimeOffBalancesSchemasPolicyValue {
    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 TimeOffBalancesSchemasPolicyValueOpen = OpenEnum<typeof TimeOffBalancesSchemasPolicyValue>;
/**
 * The type of this policy
 */
export type TimeOffBalancesType = {
    sourceValue?: TimeOffBalancesSchemasPolicy4 | 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?: TimeOffBalancesSchemasPolicyValueOpen | null | undefined;
};
/**
 * The time off policy associated with this balance
 */
export type TimeOffBalancesPolicy = {
    /**
     * 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?: TimeOffBalancesDurationUnit | 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?: TimeOffBalancesType | null | undefined;
    /**
     * The updated_at date of this policy
     */
    updatedAt?: Date | null | undefined;
};
export type TimeOffBalances = {
    /**
     * The date of when the current balance expires
     */
    balanceExpiryDate?: Date | null | undefined;
    /**
     * The date of when the initial balance quantity was set
     */
    balanceStartDate?: Date | null | undefined;
    /**
     * The duration unit of the current balance
     */
    balanceUnit?: BalanceUnit | null | undefined;
    /**
     * The current numeric balance for the associated employee and time off policy
     */
    currentBalance?: number | null | undefined;
    /**
     * The employee id associated with this balance
     */
    employeeId?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The initial numeric balance for the associated employee and time off policy as of the balance start date
     */
    initialBalance?: number | null | undefined;
    /**
     * The time off policy associated with this balance
     */
    policy?: TimeOffBalancesPolicy | null | undefined;
    /**
     * The time off policy id associated with this balance
     */
    policyId?: string | null | undefined;
    /**
     * Provider's unique identifier of the employee associated with this balance
     */
    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 balance
     */
    remotePolicyId?: string | null | undefined;
    /**
     * The updated_at date of this time off balance
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const TimeOffBalances4$inboundSchema: z.ZodType<TimeOffBalances4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalances4$Outbound = {};
/** @internal */
export declare const TimeOffBalances4$outboundSchema: z.ZodType<TimeOffBalances4$Outbound, z.ZodTypeDef, TimeOffBalances4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalances4$ {
    /** @deprecated use `TimeOffBalances4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalances4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalances4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalances4$Outbound, z.ZodTypeDef, TimeOffBalances4>;
    /** @deprecated use `TimeOffBalances4$Outbound` instead. */
    type Outbound = TimeOffBalances4$Outbound;
}
export declare function timeOffBalances4ToJSON(timeOffBalances4: TimeOffBalances4): string;
export declare function timeOffBalances4FromJSON(jsonString: string): SafeParseResult<TimeOffBalances4, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSourceValue$inboundSchema: z.ZodType<TimeOffBalancesSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesSourceValue$Outbound = TimeOffBalances4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffBalancesSourceValue$outboundSchema: z.ZodType<TimeOffBalancesSourceValue$Outbound, z.ZodTypeDef, TimeOffBalancesSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSourceValue$ {
    /** @deprecated use `TimeOffBalancesSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSourceValue$Outbound, z.ZodTypeDef, TimeOffBalancesSourceValue>;
    /** @deprecated use `TimeOffBalancesSourceValue$Outbound` instead. */
    type Outbound = TimeOffBalancesSourceValue$Outbound;
}
export declare function timeOffBalancesSourceValueToJSON(timeOffBalancesSourceValue: TimeOffBalancesSourceValue): string;
export declare function timeOffBalancesSourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffBalancesSourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesValue$inboundSchema: z.ZodType<TimeOffBalancesValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffBalancesValue$outboundSchema: z.ZodType<TimeOffBalancesValueOpen, z.ZodTypeDef, TimeOffBalancesValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesValue$ {
    /** @deprecated use `TimeOffBalancesValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesValueOpen, z.ZodTypeDef, TimeOffBalancesValueOpen>;
}
/** @internal */
export declare const BalanceUnit$inboundSchema: z.ZodType<BalanceUnit, z.ZodTypeDef, unknown>;
/** @internal */
export type BalanceUnit$Outbound = {
    source_value?: TimeOffBalances4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const BalanceUnit$outboundSchema: z.ZodType<BalanceUnit$Outbound, z.ZodTypeDef, BalanceUnit>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BalanceUnit$ {
    /** @deprecated use `BalanceUnit$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BalanceUnit, z.ZodTypeDef, unknown>;
    /** @deprecated use `BalanceUnit$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BalanceUnit$Outbound, z.ZodTypeDef, BalanceUnit>;
    /** @deprecated use `BalanceUnit$Outbound` instead. */
    type Outbound = BalanceUnit$Outbound;
}
export declare function balanceUnitToJSON(balanceUnit: BalanceUnit): string;
export declare function balanceUnitFromJSON(jsonString: string): SafeParseResult<BalanceUnit, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSchemas4$inboundSchema: z.ZodType<TimeOffBalancesSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesSchemas4$Outbound = {};
/** @internal */
export declare const TimeOffBalancesSchemas4$outboundSchema: z.ZodType<TimeOffBalancesSchemas4$Outbound, z.ZodTypeDef, TimeOffBalancesSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSchemas4$ {
    /** @deprecated use `TimeOffBalancesSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSchemas4$Outbound, z.ZodTypeDef, TimeOffBalancesSchemas4>;
    /** @deprecated use `TimeOffBalancesSchemas4$Outbound` instead. */
    type Outbound = TimeOffBalancesSchemas4$Outbound;
}
export declare function timeOffBalancesSchemas4ToJSON(timeOffBalancesSchemas4: TimeOffBalancesSchemas4): string;
export declare function timeOffBalancesSchemas4FromJSON(jsonString: string): SafeParseResult<TimeOffBalancesSchemas4, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSchemasSourceValue$inboundSchema: z.ZodType<TimeOffBalancesSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesSchemasSourceValue$Outbound = TimeOffBalancesSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffBalancesSchemasSourceValue$outboundSchema: z.ZodType<TimeOffBalancesSchemasSourceValue$Outbound, z.ZodTypeDef, TimeOffBalancesSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSchemasSourceValue$ {
    /** @deprecated use `TimeOffBalancesSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSchemasSourceValue$Outbound, z.ZodTypeDef, TimeOffBalancesSchemasSourceValue>;
    /** @deprecated use `TimeOffBalancesSchemasSourceValue$Outbound` instead. */
    type Outbound = TimeOffBalancesSchemasSourceValue$Outbound;
}
export declare function timeOffBalancesSchemasSourceValueToJSON(timeOffBalancesSchemasSourceValue: TimeOffBalancesSchemasSourceValue): string;
export declare function timeOffBalancesSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffBalancesSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSchemasValue$inboundSchema: z.ZodType<TimeOffBalancesSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffBalancesSchemasValue$outboundSchema: z.ZodType<TimeOffBalancesSchemasValueOpen, z.ZodTypeDef, TimeOffBalancesSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSchemasValue$ {
    /** @deprecated use `TimeOffBalancesSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSchemasValueOpen, z.ZodTypeDef, TimeOffBalancesSchemasValueOpen>;
}
/** @internal */
export declare const TimeOffBalancesDurationUnit$inboundSchema: z.ZodType<TimeOffBalancesDurationUnit, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesDurationUnit$Outbound = {
    source_value?: TimeOffBalancesSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TimeOffBalancesDurationUnit$outboundSchema: z.ZodType<TimeOffBalancesDurationUnit$Outbound, z.ZodTypeDef, TimeOffBalancesDurationUnit>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesDurationUnit$ {
    /** @deprecated use `TimeOffBalancesDurationUnit$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesDurationUnit, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesDurationUnit$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesDurationUnit$Outbound, z.ZodTypeDef, TimeOffBalancesDurationUnit>;
    /** @deprecated use `TimeOffBalancesDurationUnit$Outbound` instead. */
    type Outbound = TimeOffBalancesDurationUnit$Outbound;
}
export declare function timeOffBalancesDurationUnitToJSON(timeOffBalancesDurationUnit: TimeOffBalancesDurationUnit): string;
export declare function timeOffBalancesDurationUnitFromJSON(jsonString: string): SafeParseResult<TimeOffBalancesDurationUnit, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSchemasPolicy4$inboundSchema: z.ZodType<TimeOffBalancesSchemasPolicy4, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesSchemasPolicy4$Outbound = {};
/** @internal */
export declare const TimeOffBalancesSchemasPolicy4$outboundSchema: z.ZodType<TimeOffBalancesSchemasPolicy4$Outbound, z.ZodTypeDef, TimeOffBalancesSchemasPolicy4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSchemasPolicy4$ {
    /** @deprecated use `TimeOffBalancesSchemasPolicy4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSchemasPolicy4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSchemasPolicy4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSchemasPolicy4$Outbound, z.ZodTypeDef, TimeOffBalancesSchemasPolicy4>;
    /** @deprecated use `TimeOffBalancesSchemasPolicy4$Outbound` instead. */
    type Outbound = TimeOffBalancesSchemasPolicy4$Outbound;
}
export declare function timeOffBalancesSchemasPolicy4ToJSON(timeOffBalancesSchemasPolicy4: TimeOffBalancesSchemasPolicy4): string;
export declare function timeOffBalancesSchemasPolicy4FromJSON(jsonString: string): SafeParseResult<TimeOffBalancesSchemasPolicy4, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSchemasPolicySourceValue$inboundSchema: z.ZodType<TimeOffBalancesSchemasPolicySourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesSchemasPolicySourceValue$Outbound = TimeOffBalancesSchemasPolicy4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TimeOffBalancesSchemasPolicySourceValue$outboundSchema: z.ZodType<TimeOffBalancesSchemasPolicySourceValue$Outbound, z.ZodTypeDef, TimeOffBalancesSchemasPolicySourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSchemasPolicySourceValue$ {
    /** @deprecated use `TimeOffBalancesSchemasPolicySourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSchemasPolicySourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSchemasPolicySourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSchemasPolicySourceValue$Outbound, z.ZodTypeDef, TimeOffBalancesSchemasPolicySourceValue>;
    /** @deprecated use `TimeOffBalancesSchemasPolicySourceValue$Outbound` instead. */
    type Outbound = TimeOffBalancesSchemasPolicySourceValue$Outbound;
}
export declare function timeOffBalancesSchemasPolicySourceValueToJSON(timeOffBalancesSchemasPolicySourceValue: TimeOffBalancesSchemasPolicySourceValue): string;
export declare function timeOffBalancesSchemasPolicySourceValueFromJSON(jsonString: string): SafeParseResult<TimeOffBalancesSchemasPolicySourceValue, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesSchemasPolicyValue$inboundSchema: z.ZodType<TimeOffBalancesSchemasPolicyValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TimeOffBalancesSchemasPolicyValue$outboundSchema: z.ZodType<TimeOffBalancesSchemasPolicyValueOpen, z.ZodTypeDef, TimeOffBalancesSchemasPolicyValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesSchemasPolicyValue$ {
    /** @deprecated use `TimeOffBalancesSchemasPolicyValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesSchemasPolicyValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesSchemasPolicyValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesSchemasPolicyValueOpen, z.ZodTypeDef, TimeOffBalancesSchemasPolicyValueOpen>;
}
/** @internal */
export declare const TimeOffBalancesType$inboundSchema: z.ZodType<TimeOffBalancesType, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesType$Outbound = {
    source_value?: TimeOffBalancesSchemasPolicy4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TimeOffBalancesType$outboundSchema: z.ZodType<TimeOffBalancesType$Outbound, z.ZodTypeDef, TimeOffBalancesType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesType$ {
    /** @deprecated use `TimeOffBalancesType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesType$Outbound, z.ZodTypeDef, TimeOffBalancesType>;
    /** @deprecated use `TimeOffBalancesType$Outbound` instead. */
    type Outbound = TimeOffBalancesType$Outbound;
}
export declare function timeOffBalancesTypeToJSON(timeOffBalancesType: TimeOffBalancesType): string;
export declare function timeOffBalancesTypeFromJSON(jsonString: string): SafeParseResult<TimeOffBalancesType, SDKValidationError>;
/** @internal */
export declare const TimeOffBalancesPolicy$inboundSchema: z.ZodType<TimeOffBalancesPolicy, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalancesPolicy$Outbound = {
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    duration_unit?: TimeOffBalancesDurationUnit$Outbound | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    reasons?: Array<Reason$Outbound> | null | undefined;
    remote_id?: string | null | undefined;
    type?: TimeOffBalancesType$Outbound | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const TimeOffBalancesPolicy$outboundSchema: z.ZodType<TimeOffBalancesPolicy$Outbound, z.ZodTypeDef, TimeOffBalancesPolicy>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalancesPolicy$ {
    /** @deprecated use `TimeOffBalancesPolicy$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalancesPolicy, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalancesPolicy$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalancesPolicy$Outbound, z.ZodTypeDef, TimeOffBalancesPolicy>;
    /** @deprecated use `TimeOffBalancesPolicy$Outbound` instead. */
    type Outbound = TimeOffBalancesPolicy$Outbound;
}
export declare function timeOffBalancesPolicyToJSON(timeOffBalancesPolicy: TimeOffBalancesPolicy): string;
export declare function timeOffBalancesPolicyFromJSON(jsonString: string): SafeParseResult<TimeOffBalancesPolicy, SDKValidationError>;
/** @internal */
export declare const TimeOffBalances$inboundSchema: z.ZodType<TimeOffBalances, z.ZodTypeDef, unknown>;
/** @internal */
export type TimeOffBalances$Outbound = {
    balance_expiry_date?: string | null | undefined;
    balance_start_date?: string | null | undefined;
    balance_unit?: BalanceUnit$Outbound | null | undefined;
    current_balance?: number | null | undefined;
    employee_id?: string | null | undefined;
    id?: string | null | undefined;
    initial_balance?: number | null | undefined;
    policy?: TimeOffBalancesPolicy$Outbound | null | undefined;
    policy_id?: string | null | undefined;
    remote_employee_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_policy_id?: string | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const TimeOffBalances$outboundSchema: z.ZodType<TimeOffBalances$Outbound, z.ZodTypeDef, TimeOffBalances>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TimeOffBalances$ {
    /** @deprecated use `TimeOffBalances$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TimeOffBalances, z.ZodTypeDef, unknown>;
    /** @deprecated use `TimeOffBalances$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TimeOffBalances$Outbound, z.ZodTypeDef, TimeOffBalances>;
    /** @deprecated use `TimeOffBalances$Outbound` instead. */
    type Outbound = TimeOffBalances$Outbound;
}
export declare function timeOffBalancesToJSON(timeOffBalances: TimeOffBalances): string;
export declare function timeOffBalancesFromJSON(jsonString: string): SafeParseResult<TimeOffBalances, SDKValidationError>;
//# sourceMappingURL=timeoffbalances.d.ts.map