import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { AtsJobHiringTeam, AtsJobHiringTeam$Outbound } from "./atsjobhiringteam.js";
import { CustomFields, CustomFields$Outbound } from "./customfields.js";
import { InterviewStage, InterviewStage$Outbound } from "./interviewstage.js";
/**
 * Confidential status of the job
 */
export declare enum Confidential {
    True = "true",
    False = "false",
    UnmappedValue = "unmapped_value"
}
/**
 * Confidential status of the job
 */
export type ConfidentialOpen = OpenEnum<typeof Confidential>;
export type AtsCreateJobRequestDto4 = {};
/**
 * The source value of the job status.
 */
export type AtsCreateJobRequestDtoSourceValue = string | number | boolean | AtsCreateJobRequestDto4 | Array<any>;
/**
 * The status of the job.
 */
export declare enum AtsCreateJobRequestDtoValue {
    Published = "published",
    Draft = "draft",
    Pending = "pending",
    Internal = "internal",
    Archived = "archived",
    Closed = "closed",
    Open = "open",
    Deleted = "deleted",
    OnHold = "on_hold",
    UnmappedValue = "unmapped_value"
}
/**
 * The status of the job.
 */
export type AtsCreateJobRequestDtoValueOpen = OpenEnum<typeof AtsCreateJobRequestDtoValue>;
/**
 * Status of the job
 */
export type JobStatus = {
    /**
     * The source value of the job status.
     */
    sourceValue?: string | number | boolean | AtsCreateJobRequestDto4 | Array<any> | null | undefined;
    /**
     * The status of the job.
     */
    value?: AtsCreateJobRequestDtoValueOpen | null | undefined;
};
export type AtsCreateJobRequestDto = {
    /**
     * Code of the job
     */
    code?: string | null | undefined;
    /**
     * Confidential status of the job
     */
    confidential?: ConfidentialOpen | null | undefined;
    /**
     * The job custom fields
     */
    customFields?: Array<CustomFields> | null | undefined;
    /**
     * Department ids of the job
     */
    departmentIds?: Array<string> | null | undefined;
    /**
     * Description of the job
     */
    description?: string | null | undefined;
    /**
     * Hiring team for the job.
     */
    hiringTeam?: Array<AtsJobHiringTeam> | null | undefined;
    /**
     * Interview stages for the job.
     */
    interviewStages?: Array<InterviewStage> | null | undefined;
    /**
     * Status of the job
     */
    jobStatus?: JobStatus | null | undefined;
    /**
     * Location ids of the job
     */
    locationIds?: Array<string> | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Status of the job
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    status?: string | null | undefined;
    /**
     * Title of the job
     */
    title?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const Confidential$outboundSchema: z.ZodType<string, z.ZodTypeDef, ConfidentialOpen>;
/** @internal */
export type AtsCreateJobRequestDto4$Outbound = {};
/** @internal */
export declare const AtsCreateJobRequestDto4$outboundSchema: z.ZodType<AtsCreateJobRequestDto4$Outbound, z.ZodTypeDef, AtsCreateJobRequestDto4>;
export declare function atsCreateJobRequestDto4ToJSON(atsCreateJobRequestDto4: AtsCreateJobRequestDto4): string;
/** @internal */
export type AtsCreateJobRequestDtoSourceValue$Outbound = string | number | boolean | AtsCreateJobRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const AtsCreateJobRequestDtoSourceValue$outboundSchema: z.ZodType<AtsCreateJobRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsCreateJobRequestDtoSourceValue>;
export declare function atsCreateJobRequestDtoSourceValueToJSON(atsCreateJobRequestDtoSourceValue: AtsCreateJobRequestDtoSourceValue): string;
/** @internal */
export declare const AtsCreateJobRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, AtsCreateJobRequestDtoValueOpen>;
/** @internal */
export type JobStatus$Outbound = {
    source_value?: string | number | boolean | AtsCreateJobRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const JobStatus$outboundSchema: z.ZodType<JobStatus$Outbound, z.ZodTypeDef, JobStatus>;
export declare function jobStatusToJSON(jobStatus: JobStatus): string;
/** @internal */
export type AtsCreateJobRequestDto$Outbound = {
    code?: string | null | undefined;
    confidential?: string | null | undefined;
    custom_fields?: Array<CustomFields$Outbound> | null | undefined;
    department_ids?: Array<string> | null | undefined;
    description?: string | null | undefined;
    hiring_team?: Array<AtsJobHiringTeam$Outbound> | null | undefined;
    interview_stages?: Array<InterviewStage$Outbound> | null | undefined;
    job_status?: JobStatus$Outbound | null | undefined;
    location_ids?: Array<string> | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    status?: string | null | undefined;
    title?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const AtsCreateJobRequestDto$outboundSchema: z.ZodType<AtsCreateJobRequestDto$Outbound, z.ZodTypeDef, AtsCreateJobRequestDto>;
export declare function atsCreateJobRequestDtoToJSON(atsCreateJobRequestDto: AtsCreateJobRequestDto): string;
//# sourceMappingURL=atscreatejobrequestdto.d.ts.map