import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type CategoricalLabels = {
    value: string;
    description?: string | undefined;
};
export declare const Mode: {
    readonly Single: "single";
    readonly Jury: "jury";
};
export type Mode = ClosedEnum<typeof Mode>;
export type Retry = {
    count?: number | undefined;
    onCodes?: Array<number> | undefined;
};
export type Fallbacks = {
    model: string;
};
export type Judges = {
    model: string;
    retry?: Retry | undefined;
    fallbacks?: Array<Fallbacks> | undefined;
};
export type UpdateEvalRetry = {
    count?: number | undefined;
    onCodes?: Array<number> | undefined;
};
export type UpdateEvalFallbacks = {
    model: string;
};
export type ReplacementJudges = {
    model: string;
    retry?: UpdateEvalRetry | undefined;
    fallbacks?: Array<UpdateEvalFallbacks> | undefined;
};
export declare const TieValue: {
    readonly Tie: "Tie";
};
export type TieValue = ClosedEnum<typeof TieValue>;
export type Jury = {
    judges: Array<Judges>;
    replacementJudges?: Array<ReplacementJudges> | undefined;
    minSuccessfulJudges?: number | undefined;
    tieValue?: TieValue | undefined;
};
export declare const VersionIncrement: {
    readonly Major: "major";
    readonly Minor: "minor";
    readonly Patch: "patch";
};
export type VersionIncrement = ClosedEnum<typeof VersionIncrement>;
export type UpdateEvalRequestBody = {
    /**
     * Evaluator type. Optional on update — inferred from existing evaluator.
     */
    type?: string | undefined;
    /**
     * Project path. Optional on update — uses existing project if omitted.
     */
    path?: string | undefined;
    key?: string | undefined;
    description?: string | undefined;
    prompt?: string | undefined;
    outputType?: string | undefined;
    categories?: Array<string> | null | undefined;
    categoricalLabels?: Array<CategoricalLabels> | null | undefined;
    repetitions?: number | undefined;
    mode?: Mode | undefined;
    model?: string | undefined;
    jury?: Jury | undefined;
    schema?: string | undefined;
    url?: string | undefined;
    method?: string | undefined;
    headers?: {
        [k: string]: string;
    } | undefined;
    payload?: {
        [k: string]: any;
    } | undefined;
    code?: string | undefined;
    guardrailConfig?: any | undefined;
    versionIncrement?: VersionIncrement | undefined;
    versionDescription?: string | undefined;
};
export type UpdateEvalRequest = {
    id: string;
    requestBody?: UpdateEvalRequestBody | undefined;
};
/**
 * Successfully updated an eval
 */
export type UpdateEvalResponseBody = components.EvaluatorResponseLlm | components.EvaluatorResponseJsonSchema | components.EvaluatorResponseHttp | components.EvaluatorResponsePython | components.EvaluatorResponseFunction | components.EvaluatorResponseRagas | components.EvaluatorResponseTypescript;
/** @internal */
export type CategoricalLabels$Outbound = {
    value: string;
    description?: string | undefined;
};
/** @internal */
export declare const CategoricalLabels$outboundSchema: z.ZodType<CategoricalLabels$Outbound, z.ZodTypeDef, CategoricalLabels>;
export declare function categoricalLabelsToJSON(categoricalLabels: CategoricalLabels): string;
/** @internal */
export declare const Mode$outboundSchema: z.ZodNativeEnum<typeof Mode>;
/** @internal */
export type Retry$Outbound = {
    count: number;
    on_codes?: Array<number> | undefined;
};
/** @internal */
export declare const Retry$outboundSchema: z.ZodType<Retry$Outbound, z.ZodTypeDef, Retry>;
export declare function retryToJSON(retry: Retry): string;
/** @internal */
export type Fallbacks$Outbound = {
    model: string;
};
/** @internal */
export declare const Fallbacks$outboundSchema: z.ZodType<Fallbacks$Outbound, z.ZodTypeDef, Fallbacks>;
export declare function fallbacksToJSON(fallbacks: Fallbacks): string;
/** @internal */
export type Judges$Outbound = {
    model: string;
    retry?: Retry$Outbound | undefined;
    fallbacks?: Array<Fallbacks$Outbound> | undefined;
};
/** @internal */
export declare const Judges$outboundSchema: z.ZodType<Judges$Outbound, z.ZodTypeDef, Judges>;
export declare function judgesToJSON(judges: Judges): string;
/** @internal */
export type UpdateEvalRetry$Outbound = {
    count: number;
    on_codes?: Array<number> | undefined;
};
/** @internal */
export declare const UpdateEvalRetry$outboundSchema: z.ZodType<UpdateEvalRetry$Outbound, z.ZodTypeDef, UpdateEvalRetry>;
export declare function updateEvalRetryToJSON(updateEvalRetry: UpdateEvalRetry): string;
/** @internal */
export type UpdateEvalFallbacks$Outbound = {
    model: string;
};
/** @internal */
export declare const UpdateEvalFallbacks$outboundSchema: z.ZodType<UpdateEvalFallbacks$Outbound, z.ZodTypeDef, UpdateEvalFallbacks>;
export declare function updateEvalFallbacksToJSON(updateEvalFallbacks: UpdateEvalFallbacks): string;
/** @internal */
export type ReplacementJudges$Outbound = {
    model: string;
    retry?: UpdateEvalRetry$Outbound | undefined;
    fallbacks?: Array<UpdateEvalFallbacks$Outbound> | undefined;
};
/** @internal */
export declare const ReplacementJudges$outboundSchema: z.ZodType<ReplacementJudges$Outbound, z.ZodTypeDef, ReplacementJudges>;
export declare function replacementJudgesToJSON(replacementJudges: ReplacementJudges): string;
/** @internal */
export declare const TieValue$outboundSchema: z.ZodNativeEnum<typeof TieValue>;
/** @internal */
export type Jury$Outbound = {
    judges: Array<Judges$Outbound>;
    replacement_judges?: Array<ReplacementJudges$Outbound> | undefined;
    min_successful_judges: number;
    tie_value: string;
};
/** @internal */
export declare const Jury$outboundSchema: z.ZodType<Jury$Outbound, z.ZodTypeDef, Jury>;
export declare function juryToJSON(jury: Jury): string;
/** @internal */
export declare const VersionIncrement$outboundSchema: z.ZodNativeEnum<typeof VersionIncrement>;
/** @internal */
export type UpdateEvalRequestBody$Outbound = {
    type?: string | undefined;
    path?: string | undefined;
    key?: string | undefined;
    description?: string | undefined;
    prompt?: string | undefined;
    output_type?: string | undefined;
    categories?: Array<string> | null | undefined;
    categorical_labels?: Array<CategoricalLabels$Outbound> | null | undefined;
    repetitions?: number | undefined;
    mode?: string | undefined;
    model?: string | undefined;
    jury?: Jury$Outbound | undefined;
    schema?: string | undefined;
    url?: string | undefined;
    method?: string | undefined;
    headers?: {
        [k: string]: string;
    } | undefined;
    payload?: {
        [k: string]: any;
    } | undefined;
    code?: string | undefined;
    guardrail_config?: any | undefined;
    versionIncrement?: string | undefined;
    versionDescription?: string | undefined;
};
/** @internal */
export declare const UpdateEvalRequestBody$outboundSchema: z.ZodType<UpdateEvalRequestBody$Outbound, z.ZodTypeDef, UpdateEvalRequestBody>;
export declare function updateEvalRequestBodyToJSON(updateEvalRequestBody: UpdateEvalRequestBody): string;
/** @internal */
export type UpdateEvalRequest$Outbound = {
    id: string;
    RequestBody?: UpdateEvalRequestBody$Outbound | undefined;
};
/** @internal */
export declare const UpdateEvalRequest$outboundSchema: z.ZodType<UpdateEvalRequest$Outbound, z.ZodTypeDef, UpdateEvalRequest>;
export declare function updateEvalRequestToJSON(updateEvalRequest: UpdateEvalRequest): string;
/** @internal */
export declare const UpdateEvalResponseBody$inboundSchema: z.ZodType<UpdateEvalResponseBody, z.ZodTypeDef, unknown>;
export declare function updateEvalResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateEvalResponseBody, SDKValidationError>;
//# sourceMappingURL=updateeval.d.ts.map