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 { ScorecardSection, ScorecardSection$Outbound } from "./scorecardsection.js";
/**
 * The overall recommendation
 */
export declare enum OverallRecommendation {
    StrongYes = "strong_yes",
    Yes = "yes",
    No = "no",
    StrongNo = "strong_no",
    NoDecision = "no_decision",
    UnmappedValue = "unmapped_value"
}
/**
 * The overall recommendation
 */
export type OverallRecommendationOpen = OpenEnum<typeof OverallRecommendation>;
export type Scorecard = {
    /**
     * The application ID associated with the scorecard
     */
    applicationId?: string | null | undefined;
    /**
     * The author ID of the scorecard
     */
    authorId?: string | null | undefined;
    /**
     * The candidate ID associated with the scorecard
     */
    candidateId?: string | null | undefined;
    /**
     * The creation date of the scorecard
     */
    createdAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The interview ID associated with the scorecard
     */
    interviewId?: string | null | undefined;
    /**
     * The label of the scorecard
     */
    label?: string | null | undefined;
    /**
     * The overall recommendation
     */
    overallRecommendation?: OverallRecommendationOpen | null | undefined;
    /**
     * Provider's unique identifier of the application
     */
    remoteApplicationId?: string | null | undefined;
    /**
     * Provider's unique identifier of the author
     */
    remoteAuthorId?: string | null | undefined;
    /**
     * Provider's unique identifier of the candidate
     */
    remoteCandidateId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the interview
     */
    remoteInterviewId?: string | null | undefined;
    /**
     * The sections in the scorecard
     */
    sections?: Array<ScorecardSection> | null | undefined;
    /**
     * The update date of the scorecard
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const OverallRecommendation$inboundSchema: z.ZodType<OverallRecommendationOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const OverallRecommendation$outboundSchema: z.ZodType<OverallRecommendationOpen, z.ZodTypeDef, OverallRecommendationOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace OverallRecommendation$ {
    /** @deprecated use `OverallRecommendation$inboundSchema` instead. */
    const inboundSchema: z.ZodType<OverallRecommendationOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `OverallRecommendation$outboundSchema` instead. */
    const outboundSchema: z.ZodType<OverallRecommendationOpen, z.ZodTypeDef, OverallRecommendationOpen>;
}
/** @internal */
export declare const Scorecard$inboundSchema: z.ZodType<Scorecard, z.ZodTypeDef, unknown>;
/** @internal */
export type Scorecard$Outbound = {
    application_id?: string | null | undefined;
    author_id?: string | null | undefined;
    candidate_id?: string | null | undefined;
    created_at?: string | null | undefined;
    id?: string | null | undefined;
    interview_id?: string | null | undefined;
    label?: string | null | undefined;
    overall_recommendation?: string | null | undefined;
    remote_application_id?: string | null | undefined;
    remote_author_id?: string | null | undefined;
    remote_candidate_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_interview_id?: string | null | undefined;
    sections?: Array<ScorecardSection$Outbound> | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const Scorecard$outboundSchema: z.ZodType<Scorecard$Outbound, z.ZodTypeDef, Scorecard>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Scorecard$ {
    /** @deprecated use `Scorecard$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Scorecard, z.ZodTypeDef, unknown>;
    /** @deprecated use `Scorecard$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Scorecard$Outbound, z.ZodTypeDef, Scorecard>;
    /** @deprecated use `Scorecard$Outbound` instead. */
    type Outbound = Scorecard$Outbound;
}
export declare function scorecardToJSON(scorecard: Scorecard): string;
export declare function scorecardFromJSON(jsonString: string): SafeParseResult<Scorecard, SDKValidationError>;
//# sourceMappingURL=scorecard.d.ts.map