import type { Source, SystemSettings } from './types.js'; interface ChatRequest { sessionId?: string; context?: { currentPage?: string; pageTitle?: string; }; } interface ChatResponse { reply: string; sessionId: string; sources: Source[]; usage: { tokensUsed: number; quotaRemaining: { minute: number; day: number; }; }; } interface StreamCallbacks { onToken?: (token: string) => void; onSources?: (sources: Source[]) => void; onComplete?: (data: { fullText: string; sessionId?: string; messageId?: string; sources?: Source[]; }) => void; onError?: (error: Error) => void; } interface StatusResponse { status: string; apiKey: { id: string; scopes: string[]; }; quota: { perMinute: { limit: number; remaining: number; }; perDay: { limit: number; remaining: number; }; }; systemSettings?: SystemSettings; } /** * HTTP/SSE client for AsterMind backend */ export declare class ApiClient { private baseUrl; private apiKey; constructor(baseUrl: string, apiKey: string); /** * Send chat message and get complete response */ chat(message: string, options?: ChatRequest): Promise; /** * Send chat message with streaming response via SSE */ chatStream(message: string, options: ChatRequest & StreamCallbacks): Promise; /** * Get general documents for caching. * Normalizes field names from both canonical (title) and legacy (name) formats. */ getGeneralDocs(since?: string | null): Promise>; /** * Get API status, quota, and system settings. * Normalizes response from both canonical and legacy backend formats. */ getStatus(): Promise; /** * Health check (no auth required) */ health(): Promise<{ status: string; timestamp: string; }>; } export {}; //# sourceMappingURL=ApiClient.d.ts.map