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 AssessmentResultCandidate = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Candidate profile url
     */
    profileUrl?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type AssessmentResult4 = {};
/**
 * The source value of the test result.
 */
export type AssessmentResultSourceValue = AssessmentResult4 | string | number | boolean | Array<any>;
/**
 * The result of the test.
 */
export declare enum AssessmentResultValue {
    Cancelled = "cancelled",
    Completed = "completed",
    Expired = "expired",
    Failed = "failed",
    Passed = "passed",
    UnmappedValue = "unmapped_value"
}
/**
 * The result of the test.
 */
export type AssessmentResultValueOpen = OpenEnum<typeof AssessmentResultValue>;
export type Result = {
    /**
     * The source value of the test result.
     */
    sourceValue?: AssessmentResult4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The result of the test.
     */
    value?: AssessmentResultValueOpen | null | undefined;
};
export type Score = {
    /**
     * 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 AssessmentResult = {
    attachments?: Array<Attachment> | null | undefined;
    candidate?: AssessmentResultCandidate | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    result?: Result | null | undefined;
    /**
     * The test`s result url
     */
    resultUrl?: string | null | undefined;
    score?: Score | 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 AssessmentResultCandidate$inboundSchema: z.ZodType<AssessmentResultCandidate, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultCandidate$Outbound = {
    id?: string | null | undefined;
    profile_url?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const AssessmentResultCandidate$outboundSchema: z.ZodType<AssessmentResultCandidate$Outbound, z.ZodTypeDef, AssessmentResultCandidate>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultCandidate$ {
    /** @deprecated use `AssessmentResultCandidate$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultCandidate, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultCandidate$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultCandidate$Outbound, z.ZodTypeDef, AssessmentResultCandidate>;
    /** @deprecated use `AssessmentResultCandidate$Outbound` instead. */
    type Outbound = AssessmentResultCandidate$Outbound;
}
export declare function assessmentResultCandidateToJSON(assessmentResultCandidate: AssessmentResultCandidate): string;
export declare function assessmentResultCandidateFromJSON(jsonString: string): SafeParseResult<AssessmentResultCandidate, SDKValidationError>;
/** @internal */
export declare const AssessmentResult4$inboundSchema: z.ZodType<AssessmentResult4, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResult4$Outbound = {};
/** @internal */
export declare const AssessmentResult4$outboundSchema: z.ZodType<AssessmentResult4$Outbound, z.ZodTypeDef, AssessmentResult4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResult4$ {
    /** @deprecated use `AssessmentResult4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResult4, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResult4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResult4$Outbound, z.ZodTypeDef, AssessmentResult4>;
    /** @deprecated use `AssessmentResult4$Outbound` instead. */
    type Outbound = AssessmentResult4$Outbound;
}
export declare function assessmentResult4ToJSON(assessmentResult4: AssessmentResult4): string;
export declare function assessmentResult4FromJSON(jsonString: string): SafeParseResult<AssessmentResult4, SDKValidationError>;
/** @internal */
export declare const AssessmentResultSourceValue$inboundSchema: z.ZodType<AssessmentResultSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResultSourceValue$Outbound = AssessmentResult4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AssessmentResultSourceValue$outboundSchema: z.ZodType<AssessmentResultSourceValue$Outbound, z.ZodTypeDef, AssessmentResultSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultSourceValue$ {
    /** @deprecated use `AssessmentResultSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultSourceValue$Outbound, z.ZodTypeDef, AssessmentResultSourceValue>;
    /** @deprecated use `AssessmentResultSourceValue$Outbound` instead. */
    type Outbound = AssessmentResultSourceValue$Outbound;
}
export declare function assessmentResultSourceValueToJSON(assessmentResultSourceValue: AssessmentResultSourceValue): string;
export declare function assessmentResultSourceValueFromJSON(jsonString: string): SafeParseResult<AssessmentResultSourceValue, SDKValidationError>;
/** @internal */
export declare const AssessmentResultValue$inboundSchema: z.ZodType<AssessmentResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AssessmentResultValue$outboundSchema: z.ZodType<AssessmentResultValueOpen, z.ZodTypeDef, AssessmentResultValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResultValue$ {
    /** @deprecated use `AssessmentResultValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResultValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResultValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResultValueOpen, z.ZodTypeDef, AssessmentResultValueOpen>;
}
/** @internal */
export declare const Result$inboundSchema: z.ZodType<Result, z.ZodTypeDef, unknown>;
/** @internal */
export type Result$Outbound = {
    source_value?: AssessmentResult4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const Result$outboundSchema: z.ZodType<Result$Outbound, z.ZodTypeDef, Result>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Result$ {
    /** @deprecated use `Result$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Result, z.ZodTypeDef, unknown>;
    /** @deprecated use `Result$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Result$Outbound, z.ZodTypeDef, Result>;
    /** @deprecated use `Result$Outbound` instead. */
    type Outbound = Result$Outbound;
}
export declare function resultToJSON(result: Result): string;
export declare function resultFromJSON(jsonString: string): SafeParseResult<Result, SDKValidationError>;
/** @internal */
export declare const Score$inboundSchema: z.ZodType<Score, z.ZodTypeDef, unknown>;
/** @internal */
export type Score$Outbound = {
    label?: string | null | undefined;
    max?: string | null | undefined;
    min?: string | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const Score$outboundSchema: z.ZodType<Score$Outbound, z.ZodTypeDef, Score>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Score$ {
    /** @deprecated use `Score$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Score, z.ZodTypeDef, unknown>;
    /** @deprecated use `Score$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Score$Outbound, z.ZodTypeDef, Score>;
    /** @deprecated use `Score$Outbound` instead. */
    type Outbound = Score$Outbound;
}
export declare function scoreToJSON(score: Score): string;
export declare function scoreFromJSON(jsonString: string): SafeParseResult<Score, SDKValidationError>;
/** @internal */
export declare const AssessmentResult$inboundSchema: z.ZodType<AssessmentResult, z.ZodTypeDef, unknown>;
/** @internal */
export type AssessmentResult$Outbound = {
    attachments?: Array<Attachment$Outbound> | null | undefined;
    candidate?: AssessmentResultCandidate$Outbound | null | undefined;
    id?: string | null | undefined;
    remote_id?: string | null | undefined;
    result?: Result$Outbound | null | undefined;
    result_url?: string | null | undefined;
    score?: Score$Outbound | null | undefined;
    start_date?: string | null | undefined;
    submission_date?: string | null | undefined;
    summary?: string | null | undefined;
};
/** @internal */
export declare const AssessmentResult$outboundSchema: z.ZodType<AssessmentResult$Outbound, z.ZodTypeDef, AssessmentResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AssessmentResult$ {
    /** @deprecated use `AssessmentResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AssessmentResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `AssessmentResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AssessmentResult$Outbound, z.ZodTypeDef, AssessmentResult>;
    /** @deprecated use `AssessmentResult$Outbound` instead. */
    type Outbound = AssessmentResult$Outbound;
}
export declare function assessmentResultToJSON(assessmentResult: AssessmentResult): string;
export declare function assessmentResultFromJSON(jsonString: string): SafeParseResult<AssessmentResult, SDKValidationError>;
//# sourceMappingURL=assessmentresult.d.ts.map