import type { ModelMappingCache, ModelTier, ModelTierMapping } from '../types/index.js';
export declare function detectAvailableProviders(): string[];
export declare const STATIC_TIER_MAPPING: Record<string, ModelTierMapping>;
/** Classify a model name into a canonical tier based on name patterns. */
export declare function classifyModelTier(modelId: string): ModelTier;
/**
 * Build a ModelTierMapping from a list of model IDs.
 * Prefers the highest-capability model per tier (last one wins when sorted alphabetically desc).
 */
export declare function buildTierMapping(modelIds: string[]): ModelTierMapping;
/**
 * SPEC-644 AC1+AC4: Fetch model tier mapping from detected provider APIs.
 * Runs at init_project. Returns the built ModelMappingCache.
 * Silent failure — always returns a valid cache (uses static fallback).
 */
export declare function fetchAndCacheModelMapping(projectPath: string): Promise<ModelMappingCache>;
/**
 * SPEC-644 AC2: Trigger background TTL refresh if modelMapping is stale.
 * Fire-and-forget — never blocks the caller.
 * Called from create_spec and init_project.
 */
export declare function triggerModelMappingRefresh(projectPath: string): void;
/**
 * SPEC-644 AC5: Resolve the canonical tier to a provider-specific model ID.
 * Uses cached mapping if available; falls back to static Anthropic mapping.
 */
export declare function resolveModelId(projectPath: string, tier: ModelTier, preferredProvider?: string): Promise<string>;
//# sourceMappingURL=model-tier-resolver.d.ts.map