/**
 * Model-related type definitions for NeuroLink
 * Consolidates all model configuration, dynamic model, and provider model types
 */
import { z } from "zod";
import { AIProviderName } from "../constants/enums.js";
/**
 * Zod schema for model configuration validation
 */
export const ModelConfigSchema = z.object({
    id: z.string(),
    displayName: z.string(),
    capabilities: z.array(z.string()),
    deprecated: z.boolean(),
    pricing: z.object({
        input: z.number(),
        output: z.number(),
    }),
    contextWindow: z.number(),
    releaseDate: z.string(),
});
/**
 * Zod schema for model registry validation
 */
export const ModelRegistrySchema = z.object({
    version: z.string(),
    lastUpdated: z.string(),
    models: z.record(z.string(), z.record(z.string(), ModelConfigSchema)),
    aliases: z.record(z.string(), z.string()).optional(),
    defaults: z.record(z.string(), z.string()).optional(),
});
//# sourceMappingURL=model.js.map