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";
export type HRISBenefit4 = {};
export type HRISBenefitSourceValue = HRISBenefit4 | string | number | boolean | Array<any>;
/**
 * The type of the benefit
 */
export declare enum HRISBenefitValue {
    RetirementSavings = "retirement_savings",
    HealthSavings = "health_savings",
    Other = "other",
    HealthInsurance = "health_insurance",
    Insurance = "insurance"
}
/**
 * The type of the benefit
 */
export type HRISBenefitValueOpen = OpenEnum<typeof HRISBenefitValue>;
/**
 * The type of the benefit
 */
export type HRISBenefitBenefitType = {
    sourceValue?: HRISBenefit4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the benefit
     */
    value?: HRISBenefitValueOpen | null | undefined;
};
export type HRISBenefit = {
    /**
     * The type of the benefit
     */
    benefitType?: HRISBenefitBenefitType | null | undefined;
    /**
     * The date and time the benefit was created
     */
    createdAt?: Date | null | undefined;
    /**
     * The description of the benefit
     */
    description?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The name of the benefit
     */
    name?: string | null | undefined;
    /**
     * The provider of the benefit
     */
    provider?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The date and time the benefit was last updated
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const HRISBenefit4$inboundSchema: z.ZodType<HRISBenefit4, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISBenefit4$Outbound = {};
/** @internal */
export declare const HRISBenefit4$outboundSchema: z.ZodType<HRISBenefit4$Outbound, z.ZodTypeDef, HRISBenefit4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISBenefit4$ {
    /** @deprecated use `HRISBenefit4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISBenefit4, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISBenefit4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISBenefit4$Outbound, z.ZodTypeDef, HRISBenefit4>;
    /** @deprecated use `HRISBenefit4$Outbound` instead. */
    type Outbound = HRISBenefit4$Outbound;
}
export declare function hrisBenefit4ToJSON(hrisBenefit4: HRISBenefit4): string;
export declare function hrisBenefit4FromJSON(jsonString: string): SafeParseResult<HRISBenefit4, SDKValidationError>;
/** @internal */
export declare const HRISBenefitSourceValue$inboundSchema: z.ZodType<HRISBenefitSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISBenefitSourceValue$Outbound = HRISBenefit4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const HRISBenefitSourceValue$outboundSchema: z.ZodType<HRISBenefitSourceValue$Outbound, z.ZodTypeDef, HRISBenefitSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISBenefitSourceValue$ {
    /** @deprecated use `HRISBenefitSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISBenefitSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISBenefitSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISBenefitSourceValue$Outbound, z.ZodTypeDef, HRISBenefitSourceValue>;
    /** @deprecated use `HRISBenefitSourceValue$Outbound` instead. */
    type Outbound = HRISBenefitSourceValue$Outbound;
}
export declare function hrisBenefitSourceValueToJSON(hrisBenefitSourceValue: HRISBenefitSourceValue): string;
export declare function hrisBenefitSourceValueFromJSON(jsonString: string): SafeParseResult<HRISBenefitSourceValue, SDKValidationError>;
/** @internal */
export declare const HRISBenefitValue$inboundSchema: z.ZodType<HRISBenefitValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const HRISBenefitValue$outboundSchema: z.ZodType<HRISBenefitValueOpen, z.ZodTypeDef, HRISBenefitValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISBenefitValue$ {
    /** @deprecated use `HRISBenefitValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISBenefitValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISBenefitValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISBenefitValueOpen, z.ZodTypeDef, HRISBenefitValueOpen>;
}
/** @internal */
export declare const HRISBenefitBenefitType$inboundSchema: z.ZodType<HRISBenefitBenefitType, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISBenefitBenefitType$Outbound = {
    source_value?: HRISBenefit4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const HRISBenefitBenefitType$outboundSchema: z.ZodType<HRISBenefitBenefitType$Outbound, z.ZodTypeDef, HRISBenefitBenefitType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISBenefitBenefitType$ {
    /** @deprecated use `HRISBenefitBenefitType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISBenefitBenefitType, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISBenefitBenefitType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISBenefitBenefitType$Outbound, z.ZodTypeDef, HRISBenefitBenefitType>;
    /** @deprecated use `HRISBenefitBenefitType$Outbound` instead. */
    type Outbound = HRISBenefitBenefitType$Outbound;
}
export declare function hrisBenefitBenefitTypeToJSON(hrisBenefitBenefitType: HRISBenefitBenefitType): string;
export declare function hrisBenefitBenefitTypeFromJSON(jsonString: string): SafeParseResult<HRISBenefitBenefitType, SDKValidationError>;
/** @internal */
export declare const HRISBenefit$inboundSchema: z.ZodType<HRISBenefit, z.ZodTypeDef, unknown>;
/** @internal */
export type HRISBenefit$Outbound = {
    benefit_type?: HRISBenefitBenefitType$Outbound | null | undefined;
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    provider?: string | null | undefined;
    remote_id?: string | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const HRISBenefit$outboundSchema: z.ZodType<HRISBenefit$Outbound, z.ZodTypeDef, HRISBenefit>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace HRISBenefit$ {
    /** @deprecated use `HRISBenefit$inboundSchema` instead. */
    const inboundSchema: z.ZodType<HRISBenefit, z.ZodTypeDef, unknown>;
    /** @deprecated use `HRISBenefit$outboundSchema` instead. */
    const outboundSchema: z.ZodType<HRISBenefit$Outbound, z.ZodTypeDef, HRISBenefit>;
    /** @deprecated use `HRISBenefit$Outbound` instead. */
    type Outbound = HRISBenefit$Outbound;
}
export declare function hrisBenefitToJSON(hrisBenefit: HRISBenefit): string;
export declare function hrisBenefitFromJSON(jsonString: string): SafeParseResult<HRISBenefit, SDKValidationError>;
//# sourceMappingURL=hrisbenefit.d.ts.map