import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { AtsJobHiringTeam, AtsJobHiringTeam$Outbound } from "./atsjobhiringteam.js";
import { CandidateEmail, CandidateEmail$Outbound } from "./candidateemail.js";
import { Package, Package$Outbound } from "./package.js";
export type AtsCreateBackgroundCheckOrderRequestDto4 = {};
/**
 * The source value of the application status.
 */
export type AtsCreateBackgroundCheckOrderRequestDtoSourceValue = string | number | boolean | AtsCreateBackgroundCheckOrderRequestDto4 | Array<any>;
/**
 * The status of the application.
 */
export declare enum AtsCreateBackgroundCheckOrderRequestDtoValue {
    Active = "active",
    Assessment = "assessment",
    BackgroundCheck = "background_check",
    Converted = "converted",
    DeclinedByCandidate = "declined_by_candidate",
    Hired = "hired",
    Interview = "interview",
    Lead = "lead",
    Offer = "offer",
    ReferenceCheck = "reference_check",
    Rejected = "rejected",
    Review = "review",
    Screen = "screen",
    New = "new",
    Onboarding = "onboarding",
    Created = "created",
    Accepted = "accepted",
    ShortList = "short_list",
    Approved = "approved",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the application.
 */
export type AtsCreateBackgroundCheckOrderRequestDtoValueOpen = OpenEnum<typeof AtsCreateBackgroundCheckOrderRequestDtoValue>;
export type AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus = {
    /**
     * The source value of the application status.
     */
    sourceValue?: string | number | boolean | AtsCreateBackgroundCheckOrderRequestDto4 | Array<any> | null | undefined;
    /**
     * The status of the application.
     */
    value?: AtsCreateBackgroundCheckOrderRequestDtoValueOpen | null | undefined;
};
export type AtsCreateBackgroundCheckOrderRequestDtoApplication = {
    applicationStatus?: AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type AtsCreateBackgroundCheckOrderRequestDtoCandidate = {
    /**
     * List of candidate emails
     */
    emails?: Array<CandidateEmail> | null | undefined;
    /**
     * Candidate first name
     */
    firstName?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Candidate last name
     */
    lastName?: string | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Candidate profile url
     */
    profileUrl?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type Job = {
    /**
     * Hiring team for the job.
     */
    hiringTeam?: Array<AtsJobHiringTeam> | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Title of the job
     */
    title?: string | null | undefined;
};
export type AtsCreateBackgroundCheckOrderRequestDtoPackage = {
    /**
     * Package description
     */
    description?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Package name
     */
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Package tests
     */
    tests?: Array<Package> | null | undefined;
};
export type Requester = {
    /**
     * Email of the hiring team member.
     */
    email?: string | null | undefined;
    /**
     * First name of the hiring team member.
     */
    firstName?: string | null | undefined;
    /**
     * Last name of the hiring team member.
     */
    lastName?: string | null | undefined;
    /**
     * Provider's unique identifier of the user
     */
    remoteUserId?: string | null | undefined;
    /**
     * Role of the hiring team member.
     */
    role?: string | null | undefined;
    /**
     * User ID of the hiring team member.
     */
    userId?: string | null | undefined;
};
export type AtsCreateBackgroundCheckOrderRequestDto = {
    application?: AtsCreateBackgroundCheckOrderRequestDtoApplication | null | undefined;
    candidate?: AtsCreateBackgroundCheckOrderRequestDtoCandidate | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    job?: Job | null | undefined;
    package?: AtsCreateBackgroundCheckOrderRequestDtoPackage | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    requester?: Requester | null | undefined;
    /**
     * Results update url
     */
    resultsUpdateUrl?: string | null | undefined;
};
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDto4$Outbound = {};
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDto4$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDto4$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDto4>;
export declare function atsCreateBackgroundCheckOrderRequestDto4ToJSON(atsCreateBackgroundCheckOrderRequestDto4: AtsCreateBackgroundCheckOrderRequestDto4): string;
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDtoSourceValue$Outbound = string | number | boolean | AtsCreateBackgroundCheckOrderRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDtoSourceValue$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDtoSourceValue>;
export declare function atsCreateBackgroundCheckOrderRequestDtoSourceValueToJSON(atsCreateBackgroundCheckOrderRequestDtoSourceValue: AtsCreateBackgroundCheckOrderRequestDtoSourceValue): string;
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDtoValueOpen>;
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus$Outbound = {
    source_value?: string | number | boolean | AtsCreateBackgroundCheckOrderRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus>;
export declare function atsCreateBackgroundCheckOrderRequestDtoApplicationStatusToJSON(atsCreateBackgroundCheckOrderRequestDtoApplicationStatus: AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus): string;
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDtoApplication$Outbound = {
    application_status?: AtsCreateBackgroundCheckOrderRequestDtoApplicationStatus$Outbound | null | undefined;
    id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDtoApplication$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDtoApplication$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDtoApplication>;
export declare function atsCreateBackgroundCheckOrderRequestDtoApplicationToJSON(atsCreateBackgroundCheckOrderRequestDtoApplication: AtsCreateBackgroundCheckOrderRequestDtoApplication): string;
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDtoCandidate$Outbound = {
    emails?: Array<CandidateEmail$Outbound> | null | undefined;
    first_name?: string | null | undefined;
    id?: string | null | undefined;
    last_name?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    profile_url?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDtoCandidate$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDtoCandidate$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDtoCandidate>;
export declare function atsCreateBackgroundCheckOrderRequestDtoCandidateToJSON(atsCreateBackgroundCheckOrderRequestDtoCandidate: AtsCreateBackgroundCheckOrderRequestDtoCandidate): string;
/** @internal */
export type Job$Outbound = {
    hiring_team?: Array<AtsJobHiringTeam$Outbound> | null | undefined;
    id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    remote_id?: string | null | undefined;
    title?: string | null | undefined;
};
/** @internal */
export declare const Job$outboundSchema: z.ZodType<Job$Outbound, z.ZodTypeDef, Job>;
export declare function jobToJSON(job: Job): string;
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDtoPackage$Outbound = {
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
    tests?: Array<Package$Outbound> | null | undefined;
};
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDtoPackage$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDtoPackage$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDtoPackage>;
export declare function atsCreateBackgroundCheckOrderRequestDtoPackageToJSON(atsCreateBackgroundCheckOrderRequestDtoPackage: AtsCreateBackgroundCheckOrderRequestDtoPackage): string;
/** @internal */
export type Requester$Outbound = {
    email?: string | null | undefined;
    first_name?: string | null | undefined;
    last_name?: string | null | undefined;
    remote_user_id?: string | null | undefined;
    role?: string | null | undefined;
    user_id?: string | null | undefined;
};
/** @internal */
export declare const Requester$outboundSchema: z.ZodType<Requester$Outbound, z.ZodTypeDef, Requester>;
export declare function requesterToJSON(requester: Requester): string;
/** @internal */
export type AtsCreateBackgroundCheckOrderRequestDto$Outbound = {
    application?: AtsCreateBackgroundCheckOrderRequestDtoApplication$Outbound | null | undefined;
    candidate?: AtsCreateBackgroundCheckOrderRequestDtoCandidate$Outbound | null | undefined;
    id?: string | null | undefined;
    job?: Job$Outbound | null | undefined;
    package?: AtsCreateBackgroundCheckOrderRequestDtoPackage$Outbound | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    remote_id?: string | null | undefined;
    requester?: Requester$Outbound | null | undefined;
    results_update_url?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateBackgroundCheckOrderRequestDto$outboundSchema: z.ZodType<AtsCreateBackgroundCheckOrderRequestDto$Outbound, z.ZodTypeDef, AtsCreateBackgroundCheckOrderRequestDto>;
export declare function atsCreateBackgroundCheckOrderRequestDtoToJSON(atsCreateBackgroundCheckOrderRequestDto: AtsCreateBackgroundCheckOrderRequestDto): string;
//# sourceMappingURL=atscreatebackgroundcheckorderrequestdto.d.ts.map