import { z } from 'zod'; /** * Base configuration patterns for reuse across different config types * * These provide single sources of truth for common configuration patterns, * reducing duplication and improving type safety through composition. */ /** * Base model configuration pattern * Used wherever a provider/model combination needs to be specified */ export declare const baseModelConfigSchema: z.ZodObject<{ provider: z.ZodOptional; model: z.ZodOptional; parameters: z.ZodOptional>; }, z.core.$strip>; export type BaseModelConfig = z.infer; /** * Base approval configuration pattern */ export declare const baseApprovalConfigSchema: z.ZodObject<{ level: z.ZodOptional>; autoApprove: z.ZodOptional; maxCost: z.ZodOptional; }, z.core.$strip>; export type BaseApprovalConfig = z.infer; /** * Provider configuration (credentials and settings) * Separate from model selection - this is about auth and provider settings */ export declare const providerConfigSchema: z.ZodObject<{ apiKey: z.ZodOptional; defaultModel: z.ZodOptional; defaultParameters: z.ZodOptional>; location: z.ZodOptional; project: z.ZodOptional; keyFile: z.ZodOptional; baseUrl: z.ZodOptional; name: z.ZodOptional; }, z.core.$strip>; export type ProviderConfig = z.infer; /** * Model configuration with optional provider override * Combines base model config with budget and rules */ export declare const modelConfigSchema: z.ZodObject<{ provider: z.ZodOptional; model: z.ZodOptional; parameters: z.ZodOptional>; budget: z.ZodOptional; rules: z.ZodOptional>]>>; }, z.core.$strip>; export type ModelConfig = z.infer; /** * Helper to create a model config schema with tool-specific overrides * Used in MCP server tool configuration */ export declare const toolConfigSchema: z.ZodUnion; model: z.ZodOptional; parameters: z.ZodOptional>; }, z.core.$strip>]>; export type ToolConfig = z.infer;