import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { OfferHistory, OfferHistory$Outbound } from "./offerhistory.js";
export type AtsCreateOfferRequestDto4 = {};
/**
 * The source value of the offer status.
 */
export type AtsCreateOfferRequestDtoSourceValue = string | number | boolean | AtsCreateOfferRequestDto4 | Array<any>;
/**
 * The status of the offer.
 */
export declare enum AtsCreateOfferRequestDtoValue {
    Pending = "pending",
    Retracted = "retracted",
    Accepted = "accepted",
    Rejected = "rejected",
    Created = "created",
    Approved = "approved",
    NotApproved = "not_approved",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the offer.
 */
export type AtsCreateOfferRequestDtoValueOpen = OpenEnum<typeof AtsCreateOfferRequestDtoValue>;
export type OfferStatus = {
    /**
     * The source value of the offer status.
     */
    sourceValue?: string | number | boolean | AtsCreateOfferRequestDto4 | Array<any> | null | undefined;
    /**
     * The status of the offer.
     */
    value?: AtsCreateOfferRequestDtoValueOpen | null | undefined;
};
export type AtsCreateOfferRequestDto = {
    applicationId?: string | null | undefined;
    currency?: string | null | undefined;
    offerHistory?: Array<OfferHistory> | null | undefined;
    offerStatus?: OfferStatus | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    salary?: number | null | undefined;
    /**
     * Date of creation
     */
    startDate?: Date | null | undefined;
};
/** @internal */
export type AtsCreateOfferRequestDto4$Outbound = {};
/** @internal */
export declare const AtsCreateOfferRequestDto4$outboundSchema: z.ZodType<AtsCreateOfferRequestDto4$Outbound, z.ZodTypeDef, AtsCreateOfferRequestDto4>;
export declare function atsCreateOfferRequestDto4ToJSON(atsCreateOfferRequestDto4: AtsCreateOfferRequestDto4): string;
/** @internal */
export type AtsCreateOfferRequestDtoSourceValue$Outbound = string | number | boolean | AtsCreateOfferRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const AtsCreateOfferRequestDtoSourceValue$outboundSchema: z.ZodType<AtsCreateOfferRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsCreateOfferRequestDtoSourceValue>;
export declare function atsCreateOfferRequestDtoSourceValueToJSON(atsCreateOfferRequestDtoSourceValue: AtsCreateOfferRequestDtoSourceValue): string;
/** @internal */
export declare const AtsCreateOfferRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, AtsCreateOfferRequestDtoValueOpen>;
/** @internal */
export type OfferStatus$Outbound = {
    source_value?: string | number | boolean | AtsCreateOfferRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const OfferStatus$outboundSchema: z.ZodType<OfferStatus$Outbound, z.ZodTypeDef, OfferStatus>;
export declare function offerStatusToJSON(offerStatus: OfferStatus): string;
/** @internal */
export type AtsCreateOfferRequestDto$Outbound = {
    application_id?: string | null | undefined;
    currency?: string | null | undefined;
    offer_history?: Array<OfferHistory$Outbound> | null | undefined;
    offer_status?: OfferStatus$Outbound | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    salary?: number | null | undefined;
    start_date?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateOfferRequestDto$outboundSchema: z.ZodType<AtsCreateOfferRequestDto$Outbound, z.ZodTypeDef, AtsCreateOfferRequestDto>;
export declare function atsCreateOfferRequestDtoToJSON(atsCreateOfferRequestDto: AtsCreateOfferRequestDto): string;
//# sourceMappingURL=atscreateofferrequestdto.d.ts.map