import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { AIConfigVariationPost, AIConfigVariationPost$Outbound } from "./aiconfigvariationpost.js";
/**
 * The AI Config mode
 */
export declare const AIConfigPostMode: {
    readonly Agent: "agent";
    readonly Completion: "completion";
    readonly Judge: "judge";
};
/**
 * The AI Config mode
 */
export type AIConfigPostMode = ClosedEnum<typeof AIConfigPostMode>;
export type AIConfigPost = {
    /**
     * A description of the AI Config
     */
    description?: string | undefined;
    /**
     * A unique key for the AI Config
     */
    key: string;
    /**
     * The ID of the member who maintains this resource
     */
    maintainerId?: string | undefined;
    /**
     * The key of the team that maintains this resource
     */
    maintainerTeamKey?: string | undefined;
    /**
     * The AI Config mode
     */
    mode?: AIConfigPostMode | undefined;
    /**
     * A human-readable name for the AI Config
     */
    name: string;
    /**
     * Tags for this resource
     */
    tags?: Array<string> | undefined;
    /**
     * Keys of the views to add the AI Config to
     */
    viewKeys?: Array<string> | undefined;
    defaultVariation?: AIConfigVariationPost | undefined;
    /**
     * Evaluation metric key for this config
     */
    evaluationMetricKey?: string | undefined;
    /**
     * Whether the evaluation metric is inverted, meaning a lower value is better if set as true
     */
    isInverted?: boolean | undefined;
};
/** @internal */
export declare const AIConfigPostMode$inboundSchema: z.ZodNativeEnum<typeof AIConfigPostMode>;
/** @internal */
export declare const AIConfigPostMode$outboundSchema: z.ZodNativeEnum<typeof AIConfigPostMode>;
/** @internal */
export declare const AIConfigPost$inboundSchema: z.ZodType<AIConfigPost, z.ZodTypeDef, unknown>;
/** @internal */
export type AIConfigPost$Outbound = {
    description: string;
    key: string;
    maintainerId?: string | undefined;
    maintainerTeamKey?: string | undefined;
    mode: string;
    name: string;
    tags?: Array<string> | undefined;
    viewKeys?: Array<string> | undefined;
    defaultVariation?: AIConfigVariationPost$Outbound | undefined;
    evaluationMetricKey?: string | undefined;
    isInverted?: boolean | undefined;
};
/** @internal */
export declare const AIConfigPost$outboundSchema: z.ZodType<AIConfigPost$Outbound, z.ZodTypeDef, AIConfigPost>;
export declare function aiConfigPostToJSON(aiConfigPost: AIConfigPost): string;
export declare function aiConfigPostFromJSON(jsonString: string): SafeParseResult<AIConfigPost, SDKValidationError>;
//# sourceMappingURL=aiconfigpost.d.ts.map