import { E as EADKAgent, a as EADKAgentConfig, A as AgentType, R as RunConfig, b as RunResult, c as RunEvent, M as ModelConfig, d as AgentContext, L as LLMRequest, e as LLMResponse } from './types-Ks98Z0E_.js'; /** * EADK Agent * * Base Agent class and LLMAgent implementation. * Provides the autonomous reasoning loop with tool calling, guardrails, * handoffs, and compute-preference routing. */ interface LLMProvider { chat(request: LLMRequest): Promise; stream?(request: LLMRequest): AsyncIterable; } declare function registerProvider(name: string, provider: LLMProvider): void; declare function getProvider(name: string): LLMProvider | undefined; declare abstract class BaseAgent implements EADKAgent { readonly config: EADKAgentConfig; abstract readonly type: AgentType; constructor(config: EADKAgentConfig); abstract run(input: string, config?: RunConfig): Promise; stream(input: string, config?: RunConfig): AsyncIterable; /** * Resolve model configuration. */ protected resolveModel(override?: string | ModelConfig): ModelConfig; /** * Resolve instructions (static or dynamic). */ protected resolveInstructions(ctx: AgentContext): Promise; } declare class LLMAgent extends BaseAgent { readonly type: AgentType; constructor(config: EADKAgentConfig); run(input: string, runConfig?: RunConfig): Promise; } declare class CustomAgent extends BaseAgent { readonly type: AgentType; private readonly runFn; constructor(config: EADKAgentConfig, runFn: (input: string, ctx: AgentContext, config?: RunConfig) => Promise); run(input: string, runConfig?: RunConfig): Promise; } export { BaseAgent as B, CustomAgent as C, LLMAgent as L, type LLMProvider as a, getProvider as g, registerProvider as r };