import type { ProfileId } from '../profiles/types.js'; import type { WorkflowPhase, WorkflowSizingLabel } from '../types/index.js'; /** * Runtime-neutral capability tier emitted in the spawn packet. Deliberately NOT a * provider model id: each runtime resolves the tier to its own model, so the same * matrix drives Claude, Codex, and any future runtime without leaking one provider's * names into another's spawn. */ export type ModelTier = 'deep' | 'standard' | 'fast'; /** Runtime-neutral reasoning-effort level, derived from the tier. */ export type ReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh'; /** * Resolves the recommended capability tier for a subagent spawned for `phase` at task * `sizing`. Unknown/absent sizing falls back to the `m` column. */ export declare function resolveRecommendedTier(phase: WorkflowPhase, sizing?: WorkflowSizingLabel): ModelTier; /** Maps a neutral tier to its reasoning-effort level, or `undefined` when the tier is absent/unknown. */ export declare function resolveReasoningEffort(tier: string | undefined): ReasoningEffort | undefined; /** Maps a neutral tier to the Claude model alias, or `undefined` when the tier is absent/unknown. */ export declare function resolveClaudeModel(tier: string | undefined): string | undefined; /** Maps a neutral tier to an OpenCode provider/model id, or `undefined` when no valid mapping exists. */ export declare function resolveOpenCodeModel(tier: string | undefined): string | undefined; /** Maps a neutral tier to the Codex GPT-5.6 model id, or `undefined` when the tier is absent/unknown. */ export declare function resolveCodexModel(tier: string | undefined): string | undefined; /** * Recommended-model phase per selectable profile. NOT reused from * `workflow-instructions.PROFILE_PHASE_MAP` on purpose: that map derives from * `triggeredByProfiles` (maps `sa→architect`, omits developer/qa/release-manager), which would * emit the wrong recommendation. Profiles absent here (every cloud/product/industry profile) * default to `standard`. * * `sa` maps to the `ba` phase (business analysis) since the former `ba` profile was merged * into `sa` (profile-role-consolidation) — `sa` also does architecture-adjacent work, but the * `ba` phase mapping is preserved here rather than duplicating `architect`'s own mapping. The * former `ta`/`security` profile keys were removed as redundant/obsolete: `ta` merged into * `architect` (already mapped below) and `security` has no single successor profile id. */ export declare const PROFILE_MODEL_PHASE: Partial>; /** * Task-agnostic recommended tier for a profile at generation time. Looks up the profile's * phase in `PROFILE_MODEL_PHASE` and resolves it at the default `m` bucket (`DEFAULT_BUCKET`); * profiles with no mapped phase default to `standard`. */ export declare function resolveRecommendedTierForProfile(profileId: string): ModelTier;