import type { Api, KnownProvider, Model, Provider } from "./types.js"; /** * Capability tiers for subagent model selection. A tier keyword resolves to a * concrete model within the caller's current provider via the curated * {@link MODEL_TIERS} map, so it works regardless of which single provider the * user is authed to. */ export type Tier = "fast" | "normal" | "strong"; /** * Parse a model string into a {@link Tier}, or undefined if it is not a tier * keyword. Tier keywords carry a `tier:` sigil so they never collide with a * concrete model id that happens to be named `fast`/`normal`/`strong`. */ export declare function parseTier(model: string | undefined): Tier | undefined; /** * Maintainer-curated tier -> concrete-model-id map, per provider. Pinned (not a * runtime cost heuristic) so tier resolution is deterministic and the ladder is * controlled here. `normal` is a deliberately chosen everyday model, not the * provider's default (which tends to be the priciest / `strong` end). * * Partial: uncurated providers (routers like openrouter/vercel, or a user's * custom provider) have no row; callers fall back to the parent model with a * warning rather than guessing. * * Ids are patterns resolved through alias logic, so an alias like * `claude-sonnet-5` matches a future dated `claude-sonnet-5-YYYYMMDD`. */ export declare const MODEL_TIERS: Partial>>; /** * Resolve a tier to a concrete authed model for a provider, or undefined when * the provider is uncurated or the curated id is not in the authed pool. The * caller decides the fallback (curated `normal`, then parent model). */ export declare function resolveTier(tier: Tier, provider: Provider, authed: Model[]): Model | undefined; //# sourceMappingURL=model-tiers.d.ts.map