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";
import { Package, Package$Outbound } from "./package.js";
export type BackgroundCheckOrder4 = {};
/**
 * The source value of the application status.
 */
export type BackgroundCheckOrderSourceValue = BackgroundCheckOrder4 | string | number | boolean | Array<any>;
/**
 * The status of the application.
 */
export declare enum BackgroundCheckOrderValue {
    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 BackgroundCheckOrderValueOpen = OpenEnum<typeof BackgroundCheckOrderValue>;
export type BackgroundCheckOrderApplicationStatus = {
    /**
     * The source value of the application status.
     */
    sourceValue?: BackgroundCheckOrder4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The status of the application.
     */
    value?: BackgroundCheckOrderValueOpen | null | undefined;
};
export type BackgroundCheckOrderApplication = {
    applicationStatus?: BackgroundCheckOrderApplicationStatus | 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 BackgroundCheckOrderCandidate = {
    /**
     * 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 BackgroundCheckOrderJob = {
    /**
     * 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 BackgroundCheckOrderPackage = {
    /**
     * 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;
    /**
     * Package tests
     */
    tests?: Array<Package> | null | undefined;
};
export type BackgroundCheckOrderRequester = {
    /**
     * 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 BackgroundCheckOrder = {
    application?: BackgroundCheckOrderApplication | null | undefined;
    candidate?: BackgroundCheckOrderCandidate | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    job?: BackgroundCheckOrderJob | null | undefined;
    package?: BackgroundCheckOrderPackage | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    requester?: BackgroundCheckOrderRequester | null | undefined;
    /**
     * Results update url
     */
    resultsUpdateUrl?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckOrder4$inboundSchema: z.ZodType<BackgroundCheckOrder4, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrder4$Outbound = {};
/** @internal */
export declare const BackgroundCheckOrder4$outboundSchema: z.ZodType<BackgroundCheckOrder4$Outbound, z.ZodTypeDef, BackgroundCheckOrder4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrder4$ {
    /** @deprecated use `BackgroundCheckOrder4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrder4, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrder4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrder4$Outbound, z.ZodTypeDef, BackgroundCheckOrder4>;
    /** @deprecated use `BackgroundCheckOrder4$Outbound` instead. */
    type Outbound = BackgroundCheckOrder4$Outbound;
}
export declare function backgroundCheckOrder4ToJSON(backgroundCheckOrder4: BackgroundCheckOrder4): string;
export declare function backgroundCheckOrder4FromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrder4, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderSourceValue$inboundSchema: z.ZodType<BackgroundCheckOrderSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderSourceValue$Outbound = BackgroundCheckOrder4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const BackgroundCheckOrderSourceValue$outboundSchema: z.ZodType<BackgroundCheckOrderSourceValue$Outbound, z.ZodTypeDef, BackgroundCheckOrderSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderSourceValue$ {
    /** @deprecated use `BackgroundCheckOrderSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderSourceValue$Outbound, z.ZodTypeDef, BackgroundCheckOrderSourceValue>;
    /** @deprecated use `BackgroundCheckOrderSourceValue$Outbound` instead. */
    type Outbound = BackgroundCheckOrderSourceValue$Outbound;
}
export declare function backgroundCheckOrderSourceValueToJSON(backgroundCheckOrderSourceValue: BackgroundCheckOrderSourceValue): string;
export declare function backgroundCheckOrderSourceValueFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderSourceValue, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderValue$inboundSchema: z.ZodType<BackgroundCheckOrderValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const BackgroundCheckOrderValue$outboundSchema: z.ZodType<BackgroundCheckOrderValueOpen, z.ZodTypeDef, BackgroundCheckOrderValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderValue$ {
    /** @deprecated use `BackgroundCheckOrderValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderValueOpen, z.ZodTypeDef, BackgroundCheckOrderValueOpen>;
}
/** @internal */
export declare const BackgroundCheckOrderApplicationStatus$inboundSchema: z.ZodType<BackgroundCheckOrderApplicationStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderApplicationStatus$Outbound = {
    source_value?: BackgroundCheckOrder4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckOrderApplicationStatus$outboundSchema: z.ZodType<BackgroundCheckOrderApplicationStatus$Outbound, z.ZodTypeDef, BackgroundCheckOrderApplicationStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderApplicationStatus$ {
    /** @deprecated use `BackgroundCheckOrderApplicationStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderApplicationStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderApplicationStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderApplicationStatus$Outbound, z.ZodTypeDef, BackgroundCheckOrderApplicationStatus>;
    /** @deprecated use `BackgroundCheckOrderApplicationStatus$Outbound` instead. */
    type Outbound = BackgroundCheckOrderApplicationStatus$Outbound;
}
export declare function backgroundCheckOrderApplicationStatusToJSON(backgroundCheckOrderApplicationStatus: BackgroundCheckOrderApplicationStatus): string;
export declare function backgroundCheckOrderApplicationStatusFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderApplicationStatus, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderApplication$inboundSchema: z.ZodType<BackgroundCheckOrderApplication, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderApplication$Outbound = {
    application_status?: BackgroundCheckOrderApplicationStatus$Outbound | null | undefined;
    id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckOrderApplication$outboundSchema: z.ZodType<BackgroundCheckOrderApplication$Outbound, z.ZodTypeDef, BackgroundCheckOrderApplication>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderApplication$ {
    /** @deprecated use `BackgroundCheckOrderApplication$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderApplication, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderApplication$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderApplication$Outbound, z.ZodTypeDef, BackgroundCheckOrderApplication>;
    /** @deprecated use `BackgroundCheckOrderApplication$Outbound` instead. */
    type Outbound = BackgroundCheckOrderApplication$Outbound;
}
export declare function backgroundCheckOrderApplicationToJSON(backgroundCheckOrderApplication: BackgroundCheckOrderApplication): string;
export declare function backgroundCheckOrderApplicationFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderApplication, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderCandidate$inboundSchema: z.ZodType<BackgroundCheckOrderCandidate, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderCandidate$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 BackgroundCheckOrderCandidate$outboundSchema: z.ZodType<BackgroundCheckOrderCandidate$Outbound, z.ZodTypeDef, BackgroundCheckOrderCandidate>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderCandidate$ {
    /** @deprecated use `BackgroundCheckOrderCandidate$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderCandidate, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderCandidate$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderCandidate$Outbound, z.ZodTypeDef, BackgroundCheckOrderCandidate>;
    /** @deprecated use `BackgroundCheckOrderCandidate$Outbound` instead. */
    type Outbound = BackgroundCheckOrderCandidate$Outbound;
}
export declare function backgroundCheckOrderCandidateToJSON(backgroundCheckOrderCandidate: BackgroundCheckOrderCandidate): string;
export declare function backgroundCheckOrderCandidateFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderCandidate, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderJob$inboundSchema: z.ZodType<BackgroundCheckOrderJob, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderJob$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 BackgroundCheckOrderJob$outboundSchema: z.ZodType<BackgroundCheckOrderJob$Outbound, z.ZodTypeDef, BackgroundCheckOrderJob>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderJob$ {
    /** @deprecated use `BackgroundCheckOrderJob$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderJob, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderJob$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderJob$Outbound, z.ZodTypeDef, BackgroundCheckOrderJob>;
    /** @deprecated use `BackgroundCheckOrderJob$Outbound` instead. */
    type Outbound = BackgroundCheckOrderJob$Outbound;
}
export declare function backgroundCheckOrderJobToJSON(backgroundCheckOrderJob: BackgroundCheckOrderJob): string;
export declare function backgroundCheckOrderJobFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderJob, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderPackage$inboundSchema: z.ZodType<BackgroundCheckOrderPackage, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderPackage$Outbound = {
    description?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
    tests?: Array<Package$Outbound> | null | undefined;
};
/** @internal */
export declare const BackgroundCheckOrderPackage$outboundSchema: z.ZodType<BackgroundCheckOrderPackage$Outbound, z.ZodTypeDef, BackgroundCheckOrderPackage>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderPackage$ {
    /** @deprecated use `BackgroundCheckOrderPackage$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderPackage, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderPackage$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderPackage$Outbound, z.ZodTypeDef, BackgroundCheckOrderPackage>;
    /** @deprecated use `BackgroundCheckOrderPackage$Outbound` instead. */
    type Outbound = BackgroundCheckOrderPackage$Outbound;
}
export declare function backgroundCheckOrderPackageToJSON(backgroundCheckOrderPackage: BackgroundCheckOrderPackage): string;
export declare function backgroundCheckOrderPackageFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderPackage, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrderRequester$inboundSchema: z.ZodType<BackgroundCheckOrderRequester, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrderRequester$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 BackgroundCheckOrderRequester$outboundSchema: z.ZodType<BackgroundCheckOrderRequester$Outbound, z.ZodTypeDef, BackgroundCheckOrderRequester>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrderRequester$ {
    /** @deprecated use `BackgroundCheckOrderRequester$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrderRequester, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrderRequester$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrderRequester$Outbound, z.ZodTypeDef, BackgroundCheckOrderRequester>;
    /** @deprecated use `BackgroundCheckOrderRequester$Outbound` instead. */
    type Outbound = BackgroundCheckOrderRequester$Outbound;
}
export declare function backgroundCheckOrderRequesterToJSON(backgroundCheckOrderRequester: BackgroundCheckOrderRequester): string;
export declare function backgroundCheckOrderRequesterFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrderRequester, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckOrder$inboundSchema: z.ZodType<BackgroundCheckOrder, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckOrder$Outbound = {
    application?: BackgroundCheckOrderApplication$Outbound | null | undefined;
    candidate?: BackgroundCheckOrderCandidate$Outbound | null | undefined;
    id?: string | null | undefined;
    job?: BackgroundCheckOrderJob$Outbound | null | undefined;
    package?: BackgroundCheckOrderPackage$Outbound | null | undefined;
    remote_id?: string | null | undefined;
    requester?: BackgroundCheckOrderRequester$Outbound | null | undefined;
    results_update_url?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckOrder$outboundSchema: z.ZodType<BackgroundCheckOrder$Outbound, z.ZodTypeDef, BackgroundCheckOrder>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckOrder$ {
    /** @deprecated use `BackgroundCheckOrder$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckOrder, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckOrder$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckOrder$Outbound, z.ZodTypeDef, BackgroundCheckOrder>;
    /** @deprecated use `BackgroundCheckOrder$Outbound` instead. */
    type Outbound = BackgroundCheckOrder$Outbound;
}
export declare function backgroundCheckOrderToJSON(backgroundCheckOrder: BackgroundCheckOrder): string;
export declare function backgroundCheckOrderFromJSON(jsonString: string): SafeParseResult<BackgroundCheckOrder, SDKValidationError>;
//# sourceMappingURL=backgroundcheckorder.d.ts.map