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 { AIConfigDependency, AIConfigDependency$Outbound } from "./aiconfigdependency.js";
import { AIConfigMaintainer, AIConfigMaintainer$Outbound } from "./aiconfigmaintainer.js";
import { AiConfigsAccess, AiConfigsAccess$Outbound } from "./aiconfigsaccess.js";
import { AIConfigVariation, AIConfigVariation$Outbound } from "./aiconfigvariation.js";
import { CoreLink, CoreLink$Outbound } from "./corelink.js";
import { ParentAndSelfLinks, ParentAndSelfLinks$Outbound } from "./parentandselflinks.js";
/**
 * The AI Config mode
 */
export declare const AIConfigMode: {
    readonly Agent: "agent";
    readonly Completion: "completion";
    readonly Judge: "judge";
};
/**
 * The AI Config mode
 */
export type AIConfigMode = ClosedEnum<typeof AIConfigMode>;
export type AIConfig = {
    access?: AiConfigsAccess | undefined;
    /**
     * The location and content type of related resources
     */
    links?: ParentAndSelfLinks | undefined;
    site?: CoreLink | undefined;
    /**
     * A description of the AI Config
     */
    description: string;
    /**
     * The AI Config key
     */
    key: string;
    /**
     * The member or team that maintains this resource
     */
    maintainer?: AIConfigMaintainer | undefined;
    /**
     * The AI Config mode
     */
    mode?: AIConfigMode | undefined;
    /**
     * The AI Config name
     */
    name: string;
    /**
     * Tags for this resource
     */
    tags: Array<string>;
    /**
     * The version number of this resource
     */
    version: number;
    /**
     * The variations of this AI Config
     */
    variations: Array<AIConfigVariation>;
    createdAt: number;
    updatedAt: number;
    /**
     * Evaluation metric key for this config
     */
    evaluationMetricKey?: string | undefined;
    /**
     * List of evaluation metric keys for this config
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    evaluationMetricKeys?: Array<string> | undefined;
    /**
     * Whether the evaluation metric is inverted, meaning a lower value is better if set as true
     */
    isInverted?: boolean | undefined;
    /**
     * Resources that depend on this config, grouped by type
     */
    dependencies?: Array<AIConfigDependency> | undefined;
};
/** @internal */
export declare const AIConfigMode$inboundSchema: z.ZodNativeEnum<typeof AIConfigMode>;
/** @internal */
export declare const AIConfigMode$outboundSchema: z.ZodNativeEnum<typeof AIConfigMode>;
/** @internal */
export declare const AIConfig$inboundSchema: z.ZodType<AIConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type AIConfig$Outbound = {
    _access?: AiConfigsAccess$Outbound | undefined;
    _links?: ParentAndSelfLinks$Outbound | undefined;
    _site?: CoreLink$Outbound | undefined;
    description: string;
    key: string;
    _maintainer?: AIConfigMaintainer$Outbound | undefined;
    mode: string;
    name: string;
    tags: Array<string>;
    version: number;
    variations: Array<AIConfigVariation$Outbound>;
    createdAt: number;
    updatedAt: number;
    evaluationMetricKey?: string | undefined;
    evaluationMetricKeys?: Array<string> | undefined;
    isInverted?: boolean | undefined;
    dependencies?: Array<AIConfigDependency$Outbound> | undefined;
};
/** @internal */
export declare const AIConfig$outboundSchema: z.ZodType<AIConfig$Outbound, z.ZodTypeDef, AIConfig>;
export declare function aiConfigToJSON(aiConfig: AIConfig): string;
export declare function aiConfigFromJSON(jsonString: string): SafeParseResult<AIConfig, SDKValidationError>;
//# sourceMappingURL=aiconfig.d.ts.map