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 CreateHRISBenefit4 = {};
export type CreateHRISBenefitSourceValue = CreateHRISBenefit4 | string | number | boolean | Array<any>;
/**
 * The type of the benefit
 */
export declare enum CreateHRISBenefitValue {
    RetirementSavings = "retirement_savings",
    HealthSavings = "health_savings",
    Other = "other",
    HealthInsurance = "health_insurance",
    Insurance = "insurance",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the benefit
 */
export type CreateHRISBenefitValueOpen = OpenEnum<typeof CreateHRISBenefitValue>;
/**
 * The type of the benefit
 */
export type BenefitType = {
    sourceValue?: CreateHRISBenefit4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of the benefit
     */
    value?: CreateHRISBenefitValueOpen | null | undefined;
};
export type CreateHRISBenefit = {
    /**
     * The type of the benefit
     */
    benefitType?: BenefitType | 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;
    /**
     * The date and time the benefit was last updated
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const CreateHRISBenefit4$inboundSchema: z.ZodType<CreateHRISBenefit4, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateHRISBenefit4$Outbound = {};
/** @internal */
export declare const CreateHRISBenefit4$outboundSchema: z.ZodType<CreateHRISBenefit4$Outbound, z.ZodTypeDef, CreateHRISBenefit4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateHRISBenefit4$ {
    /** @deprecated use `CreateHRISBenefit4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateHRISBenefit4, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateHRISBenefit4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateHRISBenefit4$Outbound, z.ZodTypeDef, CreateHRISBenefit4>;
    /** @deprecated use `CreateHRISBenefit4$Outbound` instead. */
    type Outbound = CreateHRISBenefit4$Outbound;
}
export declare function createHRISBenefit4ToJSON(createHRISBenefit4: CreateHRISBenefit4): string;
export declare function createHRISBenefit4FromJSON(jsonString: string): SafeParseResult<CreateHRISBenefit4, SDKValidationError>;
/** @internal */
export declare const CreateHRISBenefitSourceValue$inboundSchema: z.ZodType<CreateHRISBenefitSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateHRISBenefitSourceValue$Outbound = CreateHRISBenefit4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const CreateHRISBenefitSourceValue$outboundSchema: z.ZodType<CreateHRISBenefitSourceValue$Outbound, z.ZodTypeDef, CreateHRISBenefitSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateHRISBenefitSourceValue$ {
    /** @deprecated use `CreateHRISBenefitSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateHRISBenefitSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateHRISBenefitSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateHRISBenefitSourceValue$Outbound, z.ZodTypeDef, CreateHRISBenefitSourceValue>;
    /** @deprecated use `CreateHRISBenefitSourceValue$Outbound` instead. */
    type Outbound = CreateHRISBenefitSourceValue$Outbound;
}
export declare function createHRISBenefitSourceValueToJSON(createHRISBenefitSourceValue: CreateHRISBenefitSourceValue): string;
export declare function createHRISBenefitSourceValueFromJSON(jsonString: string): SafeParseResult<CreateHRISBenefitSourceValue, SDKValidationError>;
/** @internal */
export declare const CreateHRISBenefitValue$inboundSchema: z.ZodType<CreateHRISBenefitValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CreateHRISBenefitValue$outboundSchema: z.ZodType<CreateHRISBenefitValueOpen, z.ZodTypeDef, CreateHRISBenefitValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateHRISBenefitValue$ {
    /** @deprecated use `CreateHRISBenefitValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateHRISBenefitValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateHRISBenefitValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateHRISBenefitValueOpen, z.ZodTypeDef, CreateHRISBenefitValueOpen>;
}
/** @internal */
export declare const BenefitType$inboundSchema: z.ZodType<BenefitType, z.ZodTypeDef, unknown>;
/** @internal */
export type BenefitType$Outbound = {
    source_value?: CreateHRISBenefit4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const BenefitType$outboundSchema: z.ZodType<BenefitType$Outbound, z.ZodTypeDef, BenefitType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BenefitType$ {
    /** @deprecated use `BenefitType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BenefitType, z.ZodTypeDef, unknown>;
    /** @deprecated use `BenefitType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BenefitType$Outbound, z.ZodTypeDef, BenefitType>;
    /** @deprecated use `BenefitType$Outbound` instead. */
    type Outbound = BenefitType$Outbound;
}
export declare function benefitTypeToJSON(benefitType: BenefitType): string;
export declare function benefitTypeFromJSON(jsonString: string): SafeParseResult<BenefitType, SDKValidationError>;
/** @internal */
export declare const CreateHRISBenefit$inboundSchema: z.ZodType<CreateHRISBenefit, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateHRISBenefit$Outbound = {
    benefit_type?: BenefitType$Outbound | null | undefined;
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    provider?: string | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const CreateHRISBenefit$outboundSchema: z.ZodType<CreateHRISBenefit$Outbound, z.ZodTypeDef, CreateHRISBenefit>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateHRISBenefit$ {
    /** @deprecated use `CreateHRISBenefit$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateHRISBenefit, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateHRISBenefit$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateHRISBenefit$Outbound, z.ZodTypeDef, CreateHRISBenefit>;
    /** @deprecated use `CreateHRISBenefit$Outbound` instead. */
    type Outbound = CreateHRISBenefit$Outbound;
}
export declare function createHRISBenefitToJSON(createHRISBenefit: CreateHRISBenefit): string;
export declare function createHRISBenefitFromJSON(jsonString: string): SafeParseResult<CreateHRISBenefit, SDKValidationError>;
//# sourceMappingURL=createhrisbenefit.d.ts.map