import type { AIProvider, AIProviderRegistry } from '@genesislcap/foundation-ai';
import type { AgentConfig } from './config';
/**
 * Resolve a provider name against the registry and assert it implements
 * `chat()` — the capability the chat tool-loop depends on. Throws with a
 * message naming the agent so misconfigured agents are easy to track down.
 *
 * Used by both the up-front static walk in `OrchestratingDriver` and by
 * `ChatDriver`'s per-turn resolver for function-form `provider` values.
 *
 * @internal
 */
export declare function resolveChatProvider(registry: AIProviderRegistry, providerName: string, agentName: string): AIProvider;
/**
 * Walk an agent tree (including nested `subAgents`) and validate every static
 * `provider: string` against the registry. Function-form `provider` values are
 * deferred — they validate on first resolution inside the driver.
 *
 * Throws on the first failure, with the same message shape produced by
 * {@link resolveChatProvider}.
 *
 * @internal
 */
export declare function validateStaticAgentProviders(agents: AgentConfig[], registry: AIProviderRegistry): void;
//# sourceMappingURL=validate-providers.d.ts.map