/** * Model Resolver * Resolves agent names and roles to concrete model identifiers using tier system * * @implements @.aiwg/architecture/ADR-015-enhanced-model-selection.md * @architecture @.aiwg/architecture/enhanced-model-selection-design.md */ import type { ModelTier, ModelRole, Provider, ResolvedModel, ModelResolverOptions, ModelInfo, TierInfo } from './types.js'; /** * Resolves models for agents using tier system */ export declare class ModelResolver { private config; private readonly loader; private readonly options; constructor(options?: ModelResolverOptions, projectPath?: string); /** * Resolve model for an agent * * @param agentName - Name of the agent * @param agentRole - Role hint from agent frontmatter (legacy 'model' field) * @param agentTier - Tier from agent frontmatter (new 'model-tier' field) * @returns Resolved model information */ resolve(agentName: string, agentRole?: ModelRole, agentTier?: ModelTier): Promise; /** * Determine effective tier and role for an agent */ private determineEffectiveTierAndRole; /** * Determine role for agent */ private determineRole; /** * Apply minimum tier constraint if respectMinimums is true */ private applyMinimumTier; /** * Return the higher of two tiers */ private maxTier; /** * Resolve tier + role to concrete model ID */ private resolveModelId; /** * Get model info by ID or alias */ getModelInfo(modelIdOrAlias: string): Promise; /** * List all available models for provider */ listModels(provider?: Provider): Promise; /** * List available tiers */ listTiers(): Promise; /** * Get configuration (cached) */ private getConfig; /** * Clear cache (useful for testing) */ clearCache(): void; } //# sourceMappingURL=resolver.d.ts.map