import { ProviderRegistry } from './core/registry'; import type { ChatRequest, ChatResponse, ChatStreamChunk, ProviderId, Provider, ClientConfig, ToolDef } from './core/types'; export * from './core/types'; export { validateChatRequest } from './core/validation'; export { ProviderRegistry } from './core/registry'; export { OpenAIProvider } from './providers/openai'; export { AnthropicProvider } from './providers/anthropic'; export { GroqProvider } from './providers/groq'; export { OpenRouterProvider } from './providers/openrouter'; export { SambaNovaProvider } from './providers/sambanova'; export { GeminiProvider } from './providers/gemini'; export { CerebrasProvider } from './providers/cerebras'; export { V1Provider } from './providers/v1'; export declare class HRI { readonly registry: ProviderRegistry; private config; constructor(config?: ClientConfig, registry?: ProviderRegistry); static createDefault(config?: ClientConfig): HRI; use(provider: Provider): this; private apiKeyFor; private baseUrlFor; chat(target: string, init: Omit): Promise; chat(req: ChatRequest): Promise; streamChat(target: string, init: Omit & { stream?: true; }): AsyncIterable; streamChat(req: ChatRequest): AsyncIterable; streamToText(target: string, init: Omit & { stream?: true; }): Promise; streamToText(req: ChatRequest): Promise; chatWithTools(req: ChatRequest & { tools?: ToolDef[]; tool_choice?: ChatRequest['tool_choice']; }, handlers: Record any | Promise>, opts?: { maxCalls?: number; }): Promise; streamWithTools(req: ChatRequest & { tools?: ToolDef[]; tool_choice?: ChatRequest['tool_choice']; }, handlers: Record any | Promise>, opts?: { maxCalls?: number; }): AsyncIterable; verifyModel(target: string | ChatRequest): Promise<{ exists: boolean; provider: ProviderId; model: string; models?: string[]; status?: number; error?: string; }>; private normalizeInput; } export interface PartialChatInit extends Partial> { provider?: string; model?: string; target?: string; }