import type { ModelRegistry } from "./model-registry.ts";
import type { ScopedModel } from "./model-resolver-types.ts";
export interface ModelScopeDiagnostic {
    type: "warning";
    message: string;
}
export interface ResolveModelScopeResult {
    scopedModels: ScopedModel[];
    diagnostics: ModelScopeDiagnostic[];
}
/**
 * Resolve model patterns to actual Model objects with optional thinking levels
 * Format: "pattern:level" where :level is optional
 * For each pattern, finds all matching models and picks the best version:
 * 1. Prefer alias (e.g., claude-sonnet-4-5) over dated versions (claude-sonnet-4-5-20250929)
 * 2. If no alias, pick the latest dated version
 *
 * Supports models with colons in their IDs (e.g., OpenRouter's model:exacto).
 * The algorithm tries to match the full pattern first, then progressively
 * strips colon-suffixes to find a match.
 */
export declare function resolveModelScopeWithDiagnostics(patterns: string[], modelRegistry: ModelRegistry): Promise<ResolveModelScopeResult>;
export declare function resolveModelScope(patterns: string[], modelRegistry: ModelRegistry): Promise<ScopedModel[]>;
//# sourceMappingURL=model-resolver-scope.d.ts.map