import { type AssistantCliOverrides, type AssistantProviderConfig } from '../../core/config/provider-resolution.js'; import type { ProviderType } from '../../shared/types/provider.js'; import type { StepProviderOptions } from '../../core/models/workflow-types.js'; import type { PermissionMode } from '../../core/models/types.js'; /** * Assistant provider/model resolution result. Mirrors the selector seam by carrying the * runtime-v1 provider options next to provider/model, without widening the shared * `ProviderModelOutput`. `runtimeManaged` is true only when an active runtime.yaml provider * section owns the resolution; the caller then takes `providerOptions` from here and does not * fall back to the legacy `resolveNonWorkflowProviderOptions` path. The result carries no * override source: env values are folded into the override composition, not surfaced here. */ export interface ResolvedAssistantProvider { provider?: ProviderType; model?: string; providerOptions?: StepProviderOptions; permissionMode?: PermissionMode; runtimeManaged: boolean; } export declare function resolveAssistantConfigLayers(projectDir: string): AssistantProviderConfig; /** * Resolve the assistant provider/model/options. When an active runtime.yaml provider section * exists the `internal_agents.assistant` ladder wins (order.md #1136) and its profile `options` * are carried through; otherwise the legacy `taktProviders` resolution runs and the caller keeps * resolving options via `resolveNonWorkflowProviderOptions`. Explicit CLI and env * (`TAKT_PROVIDER`/`TAKT_MODEL`) overrides win over the runtime profile in both modes — cli takes * priority over env — and a provider override drops the runtime-tied model and options (symmetric * with the selector seam `resolveSelectorFromRuntimeV1`). */ export declare function resolveAssistantProviderModel(projectDir: string, cliOverrides?: AssistantCliOverrides): ResolvedAssistantProvider; //# sourceMappingURL=assistantConfig.d.ts.map