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 { ModelRef, ModelRef$Outbound } from "./modelref.js";
export declare const Mode: {
    readonly Fallback: "fallback";
    readonly Weighted: "weighted";
    readonly RoundRobin: "round_robin";
};
export type Mode = ClosedEnum<typeof Mode>;
export type ModelsConfig = {
    mode: Mode;
    models: Array<ModelRef> | null;
};
/** @internal */
export declare const Mode$inboundSchema: z.ZodNativeEnum<typeof Mode>;
/** @internal */
export declare const Mode$outboundSchema: z.ZodNativeEnum<typeof Mode>;
/** @internal */
export declare const ModelsConfig$inboundSchema: z.ZodType<ModelsConfig, z.ZodTypeDef, unknown>;
/** @internal */
export type ModelsConfig$Outbound = {
    mode: string;
    models: Array<ModelRef$Outbound> | null;
};
/** @internal */
export declare const ModelsConfig$outboundSchema: z.ZodType<ModelsConfig$Outbound, z.ZodTypeDef, ModelsConfig>;
export declare function modelsConfigToJSON(modelsConfig: ModelsConfig): string;
export declare function modelsConfigFromJSON(jsonString: string): SafeParseResult<ModelsConfig, SDKValidationError>;
//# sourceMappingURL=modelsconfig.d.ts.map