export interface AnalyticsEvent { event: string; properties?: Record; timestamp: Date; sessionId: string; } export interface AnalyticsInsights { totalSessions: number; totalQueries: number; modelUsage: Record; averageResponseTime: number; errorRate: number; dailyStats: Array<{ date: string; queries: number; tokens: number; cost: number; }>; } export interface IAnalyticsService { track(event: AnalyticsEvent): Promise; getInsights(timeframe?: 'day' | 'week' | 'month'): Promise; exportData(): Promise; } export interface IModelRouter { route(request: ModelRequest): Promise; listAvailableModels(): Promise; estimateCost(request: ModelRequest): Promise; } export interface ModelRequest { model: string; messages: Array<{ role: 'system' | 'user' | 'assistant'; content: string; }>; temperature?: number; maxTokens?: number; stream?: boolean; useCloud?: boolean; } export interface ModelResponse { content: string; model: string; usage: { promptTokens: number; completionTokens: number; totalTokens: number; }; provider: string; } export interface ModelInfo { id: string; name: string; provider: string; contextWindow: number; supportsStreaming: boolean; supportsTools: boolean; pricing?: { prompt: number; completion: number; }; } export interface CostEstimate { estimatedTokens: number; estimatedCost: number; model: string; provider: string; } export interface ILicenseService { activate(licenseKey: string): Promise<{ success: boolean; error?: string; }>; validate(): Promise<{ valid: boolean; license?: LicenseInfo; }>; deactivate(): Promise; } export interface LicenseInfo { key: string; email?: string; activatedAt: Date; expiresAt?: Date; tier: 'free' | 'pro' | 'cloud'; features: string[]; } export interface IConfigService { get(key: string): T | undefined; set(key: string, value: any): Promise; getAll(): Record; reset(): Promise; } export interface IFeatureFlags { isEnabled(feature: string): boolean; getAllFlags(): Record; refresh?(): Promise; } export interface IHealthCheckable { checkHealth(): Promise<{ healthy: boolean; message?: string; }>; } export interface ICollaborationService { shareSession(sessionId: string, email: string): Promise; listSharedSessions(): Promise; joinSession(inviteCode: string): Promise; } export interface SharedSession { id: string; owner: string; participants: string[]; createdAt: Date; lastActive: Date; } //# sourceMappingURL=interfaces.d.ts.map