import type { AurixConfig } from '../agent/Config.js'; export interface Message { role: 'system' | 'user' | 'assistant' | 'tool'; content: string; toolCallId?: string; toolCalls?: ToolCall[]; images?: string[]; dbId?: number; stableId?: string; } export interface ToolCall { id: string; name: string; arguments: Record; } export interface ChatResponse { text: string; toolCalls: ToolCall[]; usage?: { promptTokens: number; completionTokens: number; }; finishReason?: string; rawSnippet?: string; } export interface ToolDef { type: 'function'; function: { name: string; description: string; parameters: Record; }; } export interface Provider { name: string; chat(messages: Message[], tools?: ToolDef[], signal?: AbortSignal): Promise; streamChat?(messages: Message[], tools?: ToolDef[]): AsyncIterable; } export declare function imageToBase64(filePath: string): { data: string; mediaType: string; } | null; export declare class OpenAIProvider implements Provider { name: string; private client; private model; private maxTokens; private temperature; private endpointMode; private baseUrl; private apiKey; private extraHeaders; constructor(config: AurixConfig, extraHeaders?: Record); chat(messages: Message[], tools?: ToolDef[], signal?: AbortSignal): Promise; private parseChatResponse; private completionFallback; } export declare class AnthropicProvider implements Provider { name: string; private apiKey; private model; private maxTokens; private baseUrl; private endpointMode; constructor(config: AurixConfig); chat(messages: Message[], tools?: ToolDef[], signal?: AbortSignal): Promise; private anthropicNative; private openAICompatFallback; } export declare class AutoDetectProvider implements Provider { name: string; private openai; private anthropic; private resolved; private config; constructor(config: AurixConfig); chat(messages: Message[], tools?: ToolDef[], signal?: AbortSignal): Promise; } export declare function createProvider(config: AurixConfig): Provider; //# sourceMappingURL=index.d.ts.map