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 { Attachment, Attachment$Outbound } from "./attachment.js";
export type BackgroundCheckResultCandidate = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Candidate profile url
     */
    profileUrl?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type BackgroundCheckResult4 = {};
/**
 * The source value of the test result.
 */
export type BackgroundCheckResultSourceValue = BackgroundCheckResult4 | string | number | boolean | Array<any>;
/**
 * The result of the test.
 */
export declare enum BackgroundCheckResultValue {
    Cancelled = "cancelled",
    Expired = "expired",
    Failed = "failed",
    Passed = "passed"
}
/**
 * The result of the test.
 */
export type BackgroundCheckResultValueOpen = OpenEnum<typeof BackgroundCheckResultValue>;
export type BackgroundCheckResultResult = {
    /**
     * The source value of the test result.
     */
    sourceValue?: BackgroundCheckResult4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The result of the test.
     */
    value?: BackgroundCheckResultValueOpen | null | undefined;
};
export type BackgroundCheckResultScore = {
    /**
     * The label of the score
     */
    label?: string | null | undefined;
    /**
     * The maximum value of the score
     */
    max?: string | null | undefined;
    /**
     * The minimum value of the score
     */
    min?: string | null | undefined;
    /**
     * The value is the actual score
     */
    value?: string | null | undefined;
};
export type BackgroundCheckResult = {
    attachments?: Array<Attachment> | null | undefined;
    candidate?: BackgroundCheckResultCandidate | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    result?: BackgroundCheckResultResult | null | undefined;
    /**
     * The test`s result url
     */
    resultUrl?: string | null | undefined;
    score?: BackgroundCheckResultScore | null | undefined;
    /**
     * The start date of the candidate test
     */
    startDate?: Date | null | undefined;
    /**
     * The submission date of the candidate test
     */
    submissionDate?: Date | null | undefined;
    /**
     * The summary about the result of the test
     */
    summary?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckResultCandidate$inboundSchema: z.ZodType<BackgroundCheckResultCandidate, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckResultCandidate$Outbound = {
    id?: string | null | undefined;
    profile_url?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckResultCandidate$outboundSchema: z.ZodType<BackgroundCheckResultCandidate$Outbound, z.ZodTypeDef, BackgroundCheckResultCandidate>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResultCandidate$ {
    /** @deprecated use `BackgroundCheckResultCandidate$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResultCandidate, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResultCandidate$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResultCandidate$Outbound, z.ZodTypeDef, BackgroundCheckResultCandidate>;
    /** @deprecated use `BackgroundCheckResultCandidate$Outbound` instead. */
    type Outbound = BackgroundCheckResultCandidate$Outbound;
}
export declare function backgroundCheckResultCandidateToJSON(backgroundCheckResultCandidate: BackgroundCheckResultCandidate): string;
export declare function backgroundCheckResultCandidateFromJSON(jsonString: string): SafeParseResult<BackgroundCheckResultCandidate, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckResult4$inboundSchema: z.ZodType<BackgroundCheckResult4, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckResult4$Outbound = {};
/** @internal */
export declare const BackgroundCheckResult4$outboundSchema: z.ZodType<BackgroundCheckResult4$Outbound, z.ZodTypeDef, BackgroundCheckResult4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResult4$ {
    /** @deprecated use `BackgroundCheckResult4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResult4, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResult4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResult4$Outbound, z.ZodTypeDef, BackgroundCheckResult4>;
    /** @deprecated use `BackgroundCheckResult4$Outbound` instead. */
    type Outbound = BackgroundCheckResult4$Outbound;
}
export declare function backgroundCheckResult4ToJSON(backgroundCheckResult4: BackgroundCheckResult4): string;
export declare function backgroundCheckResult4FromJSON(jsonString: string): SafeParseResult<BackgroundCheckResult4, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckResultSourceValue$inboundSchema: z.ZodType<BackgroundCheckResultSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckResultSourceValue$Outbound = BackgroundCheckResult4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const BackgroundCheckResultSourceValue$outboundSchema: z.ZodType<BackgroundCheckResultSourceValue$Outbound, z.ZodTypeDef, BackgroundCheckResultSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResultSourceValue$ {
    /** @deprecated use `BackgroundCheckResultSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResultSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResultSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResultSourceValue$Outbound, z.ZodTypeDef, BackgroundCheckResultSourceValue>;
    /** @deprecated use `BackgroundCheckResultSourceValue$Outbound` instead. */
    type Outbound = BackgroundCheckResultSourceValue$Outbound;
}
export declare function backgroundCheckResultSourceValueToJSON(backgroundCheckResultSourceValue: BackgroundCheckResultSourceValue): string;
export declare function backgroundCheckResultSourceValueFromJSON(jsonString: string): SafeParseResult<BackgroundCheckResultSourceValue, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckResultValue$inboundSchema: z.ZodType<BackgroundCheckResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const BackgroundCheckResultValue$outboundSchema: z.ZodType<BackgroundCheckResultValueOpen, z.ZodTypeDef, BackgroundCheckResultValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResultValue$ {
    /** @deprecated use `BackgroundCheckResultValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResultValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResultValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResultValueOpen, z.ZodTypeDef, BackgroundCheckResultValueOpen>;
}
/** @internal */
export declare const BackgroundCheckResultResult$inboundSchema: z.ZodType<BackgroundCheckResultResult, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckResultResult$Outbound = {
    source_value?: BackgroundCheckResult4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckResultResult$outboundSchema: z.ZodType<BackgroundCheckResultResult$Outbound, z.ZodTypeDef, BackgroundCheckResultResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResultResult$ {
    /** @deprecated use `BackgroundCheckResultResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResultResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResultResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResultResult$Outbound, z.ZodTypeDef, BackgroundCheckResultResult>;
    /** @deprecated use `BackgroundCheckResultResult$Outbound` instead. */
    type Outbound = BackgroundCheckResultResult$Outbound;
}
export declare function backgroundCheckResultResultToJSON(backgroundCheckResultResult: BackgroundCheckResultResult): string;
export declare function backgroundCheckResultResultFromJSON(jsonString: string): SafeParseResult<BackgroundCheckResultResult, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckResultScore$inboundSchema: z.ZodType<BackgroundCheckResultScore, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckResultScore$Outbound = {
    label?: string | null | undefined;
    max?: string | null | undefined;
    min?: string | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckResultScore$outboundSchema: z.ZodType<BackgroundCheckResultScore$Outbound, z.ZodTypeDef, BackgroundCheckResultScore>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResultScore$ {
    /** @deprecated use `BackgroundCheckResultScore$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResultScore, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResultScore$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResultScore$Outbound, z.ZodTypeDef, BackgroundCheckResultScore>;
    /** @deprecated use `BackgroundCheckResultScore$Outbound` instead. */
    type Outbound = BackgroundCheckResultScore$Outbound;
}
export declare function backgroundCheckResultScoreToJSON(backgroundCheckResultScore: BackgroundCheckResultScore): string;
export declare function backgroundCheckResultScoreFromJSON(jsonString: string): SafeParseResult<BackgroundCheckResultScore, SDKValidationError>;
/** @internal */
export declare const BackgroundCheckResult$inboundSchema: z.ZodType<BackgroundCheckResult, z.ZodTypeDef, unknown>;
/** @internal */
export type BackgroundCheckResult$Outbound = {
    attachments?: Array<Attachment$Outbound> | null | undefined;
    candidate?: BackgroundCheckResultCandidate$Outbound | null | undefined;
    id?: string | null | undefined;
    remote_id?: string | null | undefined;
    result?: BackgroundCheckResultResult$Outbound | null | undefined;
    result_url?: string | null | undefined;
    score?: BackgroundCheckResultScore$Outbound | null | undefined;
    start_date?: string | null | undefined;
    submission_date?: string | null | undefined;
    summary?: string | null | undefined;
};
/** @internal */
export declare const BackgroundCheckResult$outboundSchema: z.ZodType<BackgroundCheckResult$Outbound, z.ZodTypeDef, BackgroundCheckResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace BackgroundCheckResult$ {
    /** @deprecated use `BackgroundCheckResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<BackgroundCheckResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `BackgroundCheckResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<BackgroundCheckResult$Outbound, z.ZodTypeDef, BackgroundCheckResult>;
    /** @deprecated use `BackgroundCheckResult$Outbound` instead. */
    type Outbound = BackgroundCheckResult$Outbound;
}
export declare function backgroundCheckResultToJSON(backgroundCheckResult: BackgroundCheckResult): string;
export declare function backgroundCheckResultFromJSON(jsonString: string): SafeParseResult<BackgroundCheckResult, SDKValidationError>;
//# sourceMappingURL=backgroundcheckresult.d.ts.map