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";
import { CustomFields, CustomFields$Outbound } from "./customfields.js";
import { InterviewStage, InterviewStage$Outbound } from "./interviewstage.js";
import { JobHiringTeam, JobHiringTeam$Outbound } from "./jobhiringteam.js";
/**
 * Confidential status of the job
 */
export declare enum AtsUpdateJobRequestDtoConfidential {
    True = "true",
    False = "false",
    UnmappedValue = "unmapped_value"
}
/**
 * Confidential status of the job
 */
export type AtsUpdateJobRequestDtoConfidentialOpen = OpenEnum<typeof AtsUpdateJobRequestDtoConfidential>;
export type AtsUpdateJobRequestDto4 = {};
/**
 * The source value of the job status.
 */
export type AtsUpdateJobRequestDtoSourceValue = AtsUpdateJobRequestDto4 | string | number | boolean | Array<any>;
/**
 * The status of the job.
 */
export declare enum AtsUpdateJobRequestDtoValue {
    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 AtsUpdateJobRequestDtoValueOpen = OpenEnum<typeof AtsUpdateJobRequestDtoValue>;
/**
 * Status of the job
 */
export type AtsUpdateJobRequestDtoJobStatus = {
    /**
     * The source value of the job status.
     */
    sourceValue?: AtsUpdateJobRequestDto4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The status of the job.
     */
    value?: AtsUpdateJobRequestDtoValueOpen | null | undefined;
};
export type AtsUpdateJobRequestDto = {
    /**
     * Code of the job
     */
    code?: string | null | undefined;
    /**
     * Confidential status of the job
     */
    confidential?: AtsUpdateJobRequestDtoConfidentialOpen | 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<JobHiringTeam> | null | undefined;
    /**
     * Interview stages for the job.
     */
    interviewStages?: Array<InterviewStage> | null | undefined;
    /**
     * Status of the job
     */
    jobStatus?: AtsUpdateJobRequestDtoJobStatus | 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 AtsUpdateJobRequestDtoConfidential$inboundSchema: z.ZodType<AtsUpdateJobRequestDtoConfidentialOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AtsUpdateJobRequestDtoConfidential$outboundSchema: z.ZodType<AtsUpdateJobRequestDtoConfidentialOpen, z.ZodTypeDef, AtsUpdateJobRequestDtoConfidentialOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateJobRequestDtoConfidential$ {
    /** @deprecated use `AtsUpdateJobRequestDtoConfidential$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateJobRequestDtoConfidentialOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateJobRequestDtoConfidential$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateJobRequestDtoConfidentialOpen, z.ZodTypeDef, AtsUpdateJobRequestDtoConfidentialOpen>;
}
/** @internal */
export declare const AtsUpdateJobRequestDto4$inboundSchema: z.ZodType<AtsUpdateJobRequestDto4, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateJobRequestDto4$Outbound = {};
/** @internal */
export declare const AtsUpdateJobRequestDto4$outboundSchema: z.ZodType<AtsUpdateJobRequestDto4$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDto4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateJobRequestDto4$ {
    /** @deprecated use `AtsUpdateJobRequestDto4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateJobRequestDto4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateJobRequestDto4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateJobRequestDto4$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDto4>;
    /** @deprecated use `AtsUpdateJobRequestDto4$Outbound` instead. */
    type Outbound = AtsUpdateJobRequestDto4$Outbound;
}
export declare function atsUpdateJobRequestDto4ToJSON(atsUpdateJobRequestDto4: AtsUpdateJobRequestDto4): string;
export declare function atsUpdateJobRequestDto4FromJSON(jsonString: string): SafeParseResult<AtsUpdateJobRequestDto4, SDKValidationError>;
/** @internal */
export declare const AtsUpdateJobRequestDtoSourceValue$inboundSchema: z.ZodType<AtsUpdateJobRequestDtoSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateJobRequestDtoSourceValue$Outbound = AtsUpdateJobRequestDto4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AtsUpdateJobRequestDtoSourceValue$outboundSchema: z.ZodType<AtsUpdateJobRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDtoSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateJobRequestDtoSourceValue$ {
    /** @deprecated use `AtsUpdateJobRequestDtoSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateJobRequestDtoSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateJobRequestDtoSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateJobRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDtoSourceValue>;
    /** @deprecated use `AtsUpdateJobRequestDtoSourceValue$Outbound` instead. */
    type Outbound = AtsUpdateJobRequestDtoSourceValue$Outbound;
}
export declare function atsUpdateJobRequestDtoSourceValueToJSON(atsUpdateJobRequestDtoSourceValue: AtsUpdateJobRequestDtoSourceValue): string;
export declare function atsUpdateJobRequestDtoSourceValueFromJSON(jsonString: string): SafeParseResult<AtsUpdateJobRequestDtoSourceValue, SDKValidationError>;
/** @internal */
export declare const AtsUpdateJobRequestDtoValue$inboundSchema: z.ZodType<AtsUpdateJobRequestDtoValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AtsUpdateJobRequestDtoValue$outboundSchema: z.ZodType<AtsUpdateJobRequestDtoValueOpen, z.ZodTypeDef, AtsUpdateJobRequestDtoValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateJobRequestDtoValue$ {
    /** @deprecated use `AtsUpdateJobRequestDtoValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateJobRequestDtoValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateJobRequestDtoValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateJobRequestDtoValueOpen, z.ZodTypeDef, AtsUpdateJobRequestDtoValueOpen>;
}
/** @internal */
export declare const AtsUpdateJobRequestDtoJobStatus$inboundSchema: z.ZodType<AtsUpdateJobRequestDtoJobStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateJobRequestDtoJobStatus$Outbound = {
    source_value?: AtsUpdateJobRequestDto4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AtsUpdateJobRequestDtoJobStatus$outboundSchema: z.ZodType<AtsUpdateJobRequestDtoJobStatus$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDtoJobStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateJobRequestDtoJobStatus$ {
    /** @deprecated use `AtsUpdateJobRequestDtoJobStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateJobRequestDtoJobStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateJobRequestDtoJobStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateJobRequestDtoJobStatus$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDtoJobStatus>;
    /** @deprecated use `AtsUpdateJobRequestDtoJobStatus$Outbound` instead. */
    type Outbound = AtsUpdateJobRequestDtoJobStatus$Outbound;
}
export declare function atsUpdateJobRequestDtoJobStatusToJSON(atsUpdateJobRequestDtoJobStatus: AtsUpdateJobRequestDtoJobStatus): string;
export declare function atsUpdateJobRequestDtoJobStatusFromJSON(jsonString: string): SafeParseResult<AtsUpdateJobRequestDtoJobStatus, SDKValidationError>;
/** @internal */
export declare const AtsUpdateJobRequestDto$inboundSchema: z.ZodType<AtsUpdateJobRequestDto, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateJobRequestDto$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<JobHiringTeam$Outbound> | null | undefined;
    interview_stages?: Array<InterviewStage$Outbound> | null | undefined;
    job_status?: AtsUpdateJobRequestDtoJobStatus$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 AtsUpdateJobRequestDto$outboundSchema: z.ZodType<AtsUpdateJobRequestDto$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDto>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateJobRequestDto$ {
    /** @deprecated use `AtsUpdateJobRequestDto$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateJobRequestDto, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateJobRequestDto$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateJobRequestDto$Outbound, z.ZodTypeDef, AtsUpdateJobRequestDto>;
    /** @deprecated use `AtsUpdateJobRequestDto$Outbound` instead. */
    type Outbound = AtsUpdateJobRequestDto$Outbound;
}
export declare function atsUpdateJobRequestDtoToJSON(atsUpdateJobRequestDto: AtsUpdateJobRequestDto): string;
export declare function atsUpdateJobRequestDtoFromJSON(jsonString: string): SafeParseResult<AtsUpdateJobRequestDto, SDKValidationError>;
//# sourceMappingURL=atsupdatejobrequestdto.d.ts.map