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 { CandidateEmail, CandidateEmail$Outbound } from "./candidateemail.js";
import { JobHiringTeam, JobHiringTeam$Outbound } from "./jobhiringteam.js";
export type AssessmentOrder4 = {};
/**
 * The source value of the application status.
 */
export type AssessmentOrderSourceValue = AssessmentOrder4 | string | number | boolean | Array<any>;
/**
 * The status of the application.
 */
export declare enum AssessmentOrderValue {
    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 AssessmentOrderValueOpen = OpenEnum<typeof AssessmentOrderValue>;
export type AssessmentOrderApplicationStatus = {
    /**
     * The source value of the application status.
     */
    sourceValue?: AssessmentOrder4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The status of the application.
     */
    value?: AssessmentOrderValueOpen | null | undefined;
};
export type AssessmentOrderApplication = {
    applicationStatus?: AssessmentOrderApplicationStatus | 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 AssessmentOrderCandidate = {
    /**
     * 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 AssessmentOrderJob = {
    /**
     * Hiring team for the job.
     */
    hiringTeam?: Array<JobHiringTeam> | 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 AssessmentOrderPackage = {
    /**
     * 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 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 AssessmentOrder = {
    application?: AssessmentOrderApplication | null | undefined;
    candidate?: AssessmentOrderCandidate | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    job?: AssessmentOrderJob | null | undefined;
    package?: AssessmentOrderPackage | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    requester?: Requester | null | undefined;
    /**
     * Results update url
     */
    resultsUpdateUrl?: string | null | undefined;
};
/** @internal */
export declare const AssessmentOrder4$inboundSchema: z.ZodType<AssessmentOrder4, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrder4$Outbound = {};
/** @internal */
export declare const AssessmentOrder4$outboundSchema: z.ZodType<AssessmentOrder4$Outbound, z.ZodTypeDef, AssessmentOrder4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrder4$ {
    /** @deprecated use `AssessmentOrder4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrder4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrder4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrder4$Outbound, z.ZodTypeDef, AssessmentOrder4>;
    /** @deprecated use `AssessmentOrder4$Outbound` instead. */
    type Outbound = AssessmentOrder4$Outbound;
}
export declare function assessmentOrder4ToJSON(assessmentOrder4: AssessmentOrder4): string;
export declare function assessmentOrder4FromJSON(jsonString: string): SafeParseResult<AssessmentOrder4, SDKValidationError>;
/** @internal */
export declare const AssessmentOrderSourceValue$inboundSchema: z.ZodType<AssessmentOrderSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrderSourceValue$Outbound = AssessmentOrder4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AssessmentOrderSourceValue$outboundSchema: z.ZodType<AssessmentOrderSourceValue$Outbound, z.ZodTypeDef, AssessmentOrderSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderSourceValue$ {
    /** @deprecated use `AssessmentOrderSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderSourceValue$Outbound, z.ZodTypeDef, AssessmentOrderSourceValue>;
    /** @deprecated use `AssessmentOrderSourceValue$Outbound` instead. */
    type Outbound = AssessmentOrderSourceValue$Outbound;
}
export declare function assessmentOrderSourceValueToJSON(assessmentOrderSourceValue: AssessmentOrderSourceValue): string;
export declare function assessmentOrderSourceValueFromJSON(jsonString: string): SafeParseResult<AssessmentOrderSourceValue, SDKValidationError>;
/** @internal */
export declare const AssessmentOrderValue$inboundSchema: z.ZodType<AssessmentOrderValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AssessmentOrderValue$outboundSchema: z.ZodType<AssessmentOrderValueOpen, z.ZodTypeDef, AssessmentOrderValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderValue$ {
    /** @deprecated use `AssessmentOrderValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderValueOpen, z.ZodTypeDef, AssessmentOrderValueOpen>;
}
/** @internal */
export declare const AssessmentOrderApplicationStatus$inboundSchema: z.ZodType<AssessmentOrderApplicationStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrderApplicationStatus$Outbound = {
    source_value?: AssessmentOrder4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AssessmentOrderApplicationStatus$outboundSchema: z.ZodType<AssessmentOrderApplicationStatus$Outbound, z.ZodTypeDef, AssessmentOrderApplicationStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderApplicationStatus$ {
    /** @deprecated use `AssessmentOrderApplicationStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderApplicationStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderApplicationStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderApplicationStatus$Outbound, z.ZodTypeDef, AssessmentOrderApplicationStatus>;
    /** @deprecated use `AssessmentOrderApplicationStatus$Outbound` instead. */
    type Outbound = AssessmentOrderApplicationStatus$Outbound;
}
export declare function assessmentOrderApplicationStatusToJSON(assessmentOrderApplicationStatus: AssessmentOrderApplicationStatus): string;
export declare function assessmentOrderApplicationStatusFromJSON(jsonString: string): SafeParseResult<AssessmentOrderApplicationStatus, SDKValidationError>;
/** @internal */
export declare const AssessmentOrderApplication$inboundSchema: z.ZodType<AssessmentOrderApplication, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrderApplication$Outbound = {
    application_status?: AssessmentOrderApplicationStatus$Outbound | null | undefined;
    id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AssessmentOrderApplication$outboundSchema: z.ZodType<AssessmentOrderApplication$Outbound, z.ZodTypeDef, AssessmentOrderApplication>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderApplication$ {
    /** @deprecated use `AssessmentOrderApplication$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderApplication, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderApplication$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderApplication$Outbound, z.ZodTypeDef, AssessmentOrderApplication>;
    /** @deprecated use `AssessmentOrderApplication$Outbound` instead. */
    type Outbound = AssessmentOrderApplication$Outbound;
}
export declare function assessmentOrderApplicationToJSON(assessmentOrderApplication: AssessmentOrderApplication): string;
export declare function assessmentOrderApplicationFromJSON(jsonString: string): SafeParseResult<AssessmentOrderApplication, SDKValidationError>;
/** @internal */
export declare const AssessmentOrderCandidate$inboundSchema: z.ZodType<AssessmentOrderCandidate, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrderCandidate$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 AssessmentOrderCandidate$outboundSchema: z.ZodType<AssessmentOrderCandidate$Outbound, z.ZodTypeDef, AssessmentOrderCandidate>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderCandidate$ {
    /** @deprecated use `AssessmentOrderCandidate$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderCandidate, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderCandidate$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderCandidate$Outbound, z.ZodTypeDef, AssessmentOrderCandidate>;
    /** @deprecated use `AssessmentOrderCandidate$Outbound` instead. */
    type Outbound = AssessmentOrderCandidate$Outbound;
}
export declare function assessmentOrderCandidateToJSON(assessmentOrderCandidate: AssessmentOrderCandidate): string;
export declare function assessmentOrderCandidateFromJSON(jsonString: string): SafeParseResult<AssessmentOrderCandidate, SDKValidationError>;
/** @internal */
export declare const AssessmentOrderJob$inboundSchema: z.ZodType<AssessmentOrderJob, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrderJob$Outbound = {
    hiring_team?: Array<JobHiringTeam$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 AssessmentOrderJob$outboundSchema: z.ZodType<AssessmentOrderJob$Outbound, z.ZodTypeDef, AssessmentOrderJob>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderJob$ {
    /** @deprecated use `AssessmentOrderJob$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderJob, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderJob$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderJob$Outbound, z.ZodTypeDef, AssessmentOrderJob>;
    /** @deprecated use `AssessmentOrderJob$Outbound` instead. */
    type Outbound = AssessmentOrderJob$Outbound;
}
export declare function assessmentOrderJobToJSON(assessmentOrderJob: AssessmentOrderJob): string;
export declare function assessmentOrderJobFromJSON(jsonString: string): SafeParseResult<AssessmentOrderJob, SDKValidationError>;
/** @internal */
export declare const AssessmentOrderPackage$inboundSchema: z.ZodType<AssessmentOrderPackage, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrderPackage$Outbound = {
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AssessmentOrderPackage$outboundSchema: z.ZodType<AssessmentOrderPackage$Outbound, z.ZodTypeDef, AssessmentOrderPackage>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrderPackage$ {
    /** @deprecated use `AssessmentOrderPackage$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrderPackage, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrderPackage$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrderPackage$Outbound, z.ZodTypeDef, AssessmentOrderPackage>;
    /** @deprecated use `AssessmentOrderPackage$Outbound` instead. */
    type Outbound = AssessmentOrderPackage$Outbound;
}
export declare function assessmentOrderPackageToJSON(assessmentOrderPackage: AssessmentOrderPackage): string;
export declare function assessmentOrderPackageFromJSON(jsonString: string): SafeParseResult<AssessmentOrderPackage, SDKValidationError>;
/** @internal */
export declare const Requester$inboundSchema: z.ZodType<Requester, z.ZodTypeDef, unknown>;
/** @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>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Requester$ {
    /** @deprecated use `Requester$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Requester, z.ZodTypeDef, unknown>;
    /** @deprecated use `Requester$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Requester$Outbound, z.ZodTypeDef, Requester>;
    /** @deprecated use `Requester$Outbound` instead. */
    type Outbound = Requester$Outbound;
}
export declare function requesterToJSON(requester: Requester): string;
export declare function requesterFromJSON(jsonString: string): SafeParseResult<Requester, SDKValidationError>;
/** @internal */
export declare const AssessmentOrder$inboundSchema: z.ZodType<AssessmentOrder, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentOrder$Outbound = {
    application?: AssessmentOrderApplication$Outbound | null | undefined;
    candidate?: AssessmentOrderCandidate$Outbound | null | undefined;
    id?: string | null | undefined;
    job?: AssessmentOrderJob$Outbound | null | undefined;
    package?: AssessmentOrderPackage$Outbound | null | undefined;
    remote_id?: string | null | undefined;
    requester?: Requester$Outbound | null | undefined;
    results_update_url?: string | null | undefined;
};
/** @internal */
export declare const AssessmentOrder$outboundSchema: z.ZodType<AssessmentOrder$Outbound, z.ZodTypeDef, AssessmentOrder>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentOrder$ {
    /** @deprecated use `AssessmentOrder$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentOrder, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentOrder$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentOrder$Outbound, z.ZodTypeDef, AssessmentOrder>;
    /** @deprecated use `AssessmentOrder$Outbound` instead. */
    type Outbound = AssessmentOrder$Outbound;
}
export declare function assessmentOrderToJSON(assessmentOrder: AssessmentOrder): string;
export declare function assessmentOrderFromJSON(jsonString: string): SafeParseResult<AssessmentOrder, SDKValidationError>;
//# sourceMappingURL=assessmentorder.d.ts.map