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";
export type AtsCreateCandidatesAssessmentsRequestDto4 = {};
/**
 * The source value of the application status.
 */
export type AtsCreateCandidatesAssessmentsRequestDtoSourceValue = string | number | boolean | AtsCreateCandidatesAssessmentsRequestDto4 | Array<any>;
/**
 * The status of the application.
 */
export declare enum AtsCreateCandidatesAssessmentsRequestDtoValue {
    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 AtsCreateCandidatesAssessmentsRequestDtoValueOpen = OpenEnum<typeof AtsCreateCandidatesAssessmentsRequestDtoValue>;
export type AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus = {
    /**
     * The source value of the application status.
     */
    sourceValue?: string | number | boolean | AtsCreateCandidatesAssessmentsRequestDto4 | Array<any> | null | undefined;
    /**
     * The status of the application.
     */
    value?: AtsCreateCandidatesAssessmentsRequestDtoValueOpen | null | undefined;
};
export type AtsCreateCandidatesAssessmentsRequestDtoApplication = {
    applicationStatus?: AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus | 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 AtsCreateCandidatesAssessmentsRequestDtoCandidate = {
    /**
     * 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 AtsCreateCandidatesAssessmentsRequestDtoJob = {
    /**
     * 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 AtsCreateCandidatesAssessmentsRequestDtoPackage = {
    /**
     * 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;
};
export type AtsCreateCandidatesAssessmentsRequestDtoRequester = {
    /**
     * 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 AtsCreateCandidatesAssessmentsRequestDto = {
    application?: AtsCreateCandidatesAssessmentsRequestDtoApplication | null | undefined;
    candidate?: AtsCreateCandidatesAssessmentsRequestDtoCandidate | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    job?: AtsCreateCandidatesAssessmentsRequestDtoJob | null | undefined;
    package?: AtsCreateCandidatesAssessmentsRequestDtoPackage | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    requester?: AtsCreateCandidatesAssessmentsRequestDtoRequester | null | undefined;
    /**
     * Results update url
     */
    resultsUpdateUrl?: string | null | undefined;
};
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDto4$Outbound = {};
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDto4$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDto4$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDto4>;
export declare function atsCreateCandidatesAssessmentsRequestDto4ToJSON(atsCreateCandidatesAssessmentsRequestDto4: AtsCreateCandidatesAssessmentsRequestDto4): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoSourceValue$Outbound = string | number | boolean | AtsCreateCandidatesAssessmentsRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDtoSourceValue$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoSourceValue>;
export declare function atsCreateCandidatesAssessmentsRequestDtoSourceValueToJSON(atsCreateCandidatesAssessmentsRequestDtoSourceValue: AtsCreateCandidatesAssessmentsRequestDtoSourceValue): string;
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoValueOpen>;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus$Outbound = {
    source_value?: string | number | boolean | AtsCreateCandidatesAssessmentsRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus>;
export declare function atsCreateCandidatesAssessmentsRequestDtoApplicationStatusToJSON(atsCreateCandidatesAssessmentsRequestDtoApplicationStatus: AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoApplication$Outbound = {
    application_status?: AtsCreateCandidatesAssessmentsRequestDtoApplicationStatus$Outbound | null | undefined;
    id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDtoApplication$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoApplication$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoApplication>;
export declare function atsCreateCandidatesAssessmentsRequestDtoApplicationToJSON(atsCreateCandidatesAssessmentsRequestDtoApplication: AtsCreateCandidatesAssessmentsRequestDtoApplication): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoCandidate$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 AtsCreateCandidatesAssessmentsRequestDtoCandidate$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoCandidate$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoCandidate>;
export declare function atsCreateCandidatesAssessmentsRequestDtoCandidateToJSON(atsCreateCandidatesAssessmentsRequestDtoCandidate: AtsCreateCandidatesAssessmentsRequestDtoCandidate): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoJob$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 AtsCreateCandidatesAssessmentsRequestDtoJob$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoJob$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoJob>;
export declare function atsCreateCandidatesAssessmentsRequestDtoJobToJSON(atsCreateCandidatesAssessmentsRequestDtoJob: AtsCreateCandidatesAssessmentsRequestDtoJob): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoPackage$Outbound = {
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDtoPackage$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoPackage$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoPackage>;
export declare function atsCreateCandidatesAssessmentsRequestDtoPackageToJSON(atsCreateCandidatesAssessmentsRequestDtoPackage: AtsCreateCandidatesAssessmentsRequestDtoPackage): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDtoRequester$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 AtsCreateCandidatesAssessmentsRequestDtoRequester$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDtoRequester$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDtoRequester>;
export declare function atsCreateCandidatesAssessmentsRequestDtoRequesterToJSON(atsCreateCandidatesAssessmentsRequestDtoRequester: AtsCreateCandidatesAssessmentsRequestDtoRequester): string;
/** @internal */
export type AtsCreateCandidatesAssessmentsRequestDto$Outbound = {
    application?: AtsCreateCandidatesAssessmentsRequestDtoApplication$Outbound | null | undefined;
    candidate?: AtsCreateCandidatesAssessmentsRequestDtoCandidate$Outbound | null | undefined;
    id?: string | null | undefined;
    job?: AtsCreateCandidatesAssessmentsRequestDtoJob$Outbound | null | undefined;
    package?: AtsCreateCandidatesAssessmentsRequestDtoPackage$Outbound | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    requester?: AtsCreateCandidatesAssessmentsRequestDtoRequester$Outbound | null | undefined;
    results_update_url?: string | null | undefined;
};
/** @internal */
export declare const AtsCreateCandidatesAssessmentsRequestDto$outboundSchema: z.ZodType<AtsCreateCandidatesAssessmentsRequestDto$Outbound, z.ZodTypeDef, AtsCreateCandidatesAssessmentsRequestDto>;
export declare function atsCreateCandidatesAssessmentsRequestDtoToJSON(atsCreateCandidatesAssessmentsRequestDto: AtsCreateCandidatesAssessmentsRequestDto): string;
//# sourceMappingURL=atscreatecandidatesassessmentsrequestdto.d.ts.map