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";
export type AtsUpdateApplicationRequestDto4 = {};
/**
 * The source value of the application status.
 */
export type AtsUpdateApplicationRequestDtoSourceValue = AtsUpdateApplicationRequestDto4 | string | number | boolean | Array<any>;
/**
 * The status of the application.
 */
export declare enum AtsUpdateApplicationRequestDtoValue {
    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 AtsUpdateApplicationRequestDtoValueOpen = OpenEnum<typeof AtsUpdateApplicationRequestDtoValue>;
export type AtsUpdateApplicationRequestDtoApplicationStatus = {
    /**
     * The source value of the application status.
     */
    sourceValue?: AtsUpdateApplicationRequestDto4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The status of the application.
     */
    value?: AtsUpdateApplicationRequestDtoValueOpen | null | undefined;
};
export type AtsUpdateApplicationRequestDtoSource = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The source of the application
     */
    name?: string | null | undefined;
};
export type AtsUpdateApplicationRequestDto = {
    applicationStatus?: AtsUpdateApplicationRequestDtoApplicationStatus | null | undefined;
    /**
     * The application custom fields
     */
    customFields?: Array<CustomFields> | null | undefined;
    /**
     * Unique identifier of the interview stage
     */
    interviewStageId?: string | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Unique identifier of the rejection reason
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    rejectedReasonId?: string | null | undefined;
    source?: AtsUpdateApplicationRequestDtoSource | null | undefined;
};
/** @internal */
export declare const AtsUpdateApplicationRequestDto4$inboundSchema: z.ZodType<AtsUpdateApplicationRequestDto4, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateApplicationRequestDto4$Outbound = {};
/** @internal */
export declare const AtsUpdateApplicationRequestDto4$outboundSchema: z.ZodType<AtsUpdateApplicationRequestDto4$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDto4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateApplicationRequestDto4$ {
    /** @deprecated use `AtsUpdateApplicationRequestDto4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateApplicationRequestDto4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateApplicationRequestDto4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateApplicationRequestDto4$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDto4>;
    /** @deprecated use `AtsUpdateApplicationRequestDto4$Outbound` instead. */
    type Outbound = AtsUpdateApplicationRequestDto4$Outbound;
}
export declare function atsUpdateApplicationRequestDto4ToJSON(atsUpdateApplicationRequestDto4: AtsUpdateApplicationRequestDto4): string;
export declare function atsUpdateApplicationRequestDto4FromJSON(jsonString: string): SafeParseResult<AtsUpdateApplicationRequestDto4, SDKValidationError>;
/** @internal */
export declare const AtsUpdateApplicationRequestDtoSourceValue$inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateApplicationRequestDtoSourceValue$Outbound = AtsUpdateApplicationRequestDto4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AtsUpdateApplicationRequestDtoSourceValue$outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDtoSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateApplicationRequestDtoSourceValue$ {
    /** @deprecated use `AtsUpdateApplicationRequestDtoSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSourceValue$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDtoSourceValue>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoSourceValue$Outbound` instead. */
    type Outbound = AtsUpdateApplicationRequestDtoSourceValue$Outbound;
}
export declare function atsUpdateApplicationRequestDtoSourceValueToJSON(atsUpdateApplicationRequestDtoSourceValue: AtsUpdateApplicationRequestDtoSourceValue): string;
export declare function atsUpdateApplicationRequestDtoSourceValueFromJSON(jsonString: string): SafeParseResult<AtsUpdateApplicationRequestDtoSourceValue, SDKValidationError>;
/** @internal */
export declare const AtsUpdateApplicationRequestDtoValue$inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AtsUpdateApplicationRequestDtoValue$outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoValueOpen, z.ZodTypeDef, AtsUpdateApplicationRequestDtoValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateApplicationRequestDtoValue$ {
    /** @deprecated use `AtsUpdateApplicationRequestDtoValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoValueOpen, z.ZodTypeDef, AtsUpdateApplicationRequestDtoValueOpen>;
}
/** @internal */
export declare const AtsUpdateApplicationRequestDtoApplicationStatus$inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoApplicationStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateApplicationRequestDtoApplicationStatus$Outbound = {
    source_value?: AtsUpdateApplicationRequestDto4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AtsUpdateApplicationRequestDtoApplicationStatus$outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoApplicationStatus$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDtoApplicationStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateApplicationRequestDtoApplicationStatus$ {
    /** @deprecated use `AtsUpdateApplicationRequestDtoApplicationStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoApplicationStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoApplicationStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoApplicationStatus$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDtoApplicationStatus>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoApplicationStatus$Outbound` instead. */
    type Outbound = AtsUpdateApplicationRequestDtoApplicationStatus$Outbound;
}
export declare function atsUpdateApplicationRequestDtoApplicationStatusToJSON(atsUpdateApplicationRequestDtoApplicationStatus: AtsUpdateApplicationRequestDtoApplicationStatus): string;
export declare function atsUpdateApplicationRequestDtoApplicationStatusFromJSON(jsonString: string): SafeParseResult<AtsUpdateApplicationRequestDtoApplicationStatus, SDKValidationError>;
/** @internal */
export declare const AtsUpdateApplicationRequestDtoSource$inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSource, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateApplicationRequestDtoSource$Outbound = {
    id?: string | null | undefined;
    name?: string | null | undefined;
};
/** @internal */
export declare const AtsUpdateApplicationRequestDtoSource$outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSource$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDtoSource>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateApplicationRequestDtoSource$ {
    /** @deprecated use `AtsUpdateApplicationRequestDtoSource$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSource, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoSource$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateApplicationRequestDtoSource$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDtoSource>;
    /** @deprecated use `AtsUpdateApplicationRequestDtoSource$Outbound` instead. */
    type Outbound = AtsUpdateApplicationRequestDtoSource$Outbound;
}
export declare function atsUpdateApplicationRequestDtoSourceToJSON(atsUpdateApplicationRequestDtoSource: AtsUpdateApplicationRequestDtoSource): string;
export declare function atsUpdateApplicationRequestDtoSourceFromJSON(jsonString: string): SafeParseResult<AtsUpdateApplicationRequestDtoSource, SDKValidationError>;
/** @internal */
export declare const AtsUpdateApplicationRequestDto$inboundSchema: z.ZodType<AtsUpdateApplicationRequestDto, z.ZodTypeDef, unknown>;
/** @internal */
export type AtsUpdateApplicationRequestDto$Outbound = {
    application_status?: AtsUpdateApplicationRequestDtoApplicationStatus$Outbound | null | undefined;
    custom_fields?: Array<CustomFields$Outbound> | null | undefined;
    interview_stage_id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    rejected_reason_id?: string | null | undefined;
    source?: AtsUpdateApplicationRequestDtoSource$Outbound | null | undefined;
};
/** @internal */
export declare const AtsUpdateApplicationRequestDto$outboundSchema: z.ZodType<AtsUpdateApplicationRequestDto$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDto>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AtsUpdateApplicationRequestDto$ {
    /** @deprecated use `AtsUpdateApplicationRequestDto$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AtsUpdateApplicationRequestDto, z.ZodTypeDef, unknown>;
    /** @deprecated use `AtsUpdateApplicationRequestDto$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AtsUpdateApplicationRequestDto$Outbound, z.ZodTypeDef, AtsUpdateApplicationRequestDto>;
    /** @deprecated use `AtsUpdateApplicationRequestDto$Outbound` instead. */
    type Outbound = AtsUpdateApplicationRequestDto$Outbound;
}
export declare function atsUpdateApplicationRequestDtoToJSON(atsUpdateApplicationRequestDto: AtsUpdateApplicationRequestDto): string;
export declare function atsUpdateApplicationRequestDtoFromJSON(jsonString: string): SafeParseResult<AtsUpdateApplicationRequestDto, SDKValidationError>;
//# sourceMappingURL=atsupdateapplicationrequestdto.d.ts.map