UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

158 lines 4.46 kB
/** * Configuration Manager for Personal AI Writing Assistant * * Handles user preferences, privacy settings, and personalization options */ import type { AIServiceProvider, SuggestionType, WritingStyle, PrivacyMode, PersonalizationData } from '../types/ai-assistant'; import type { AnalysisPipelineConfig } from './AnalysisPipeline'; export interface AIAssistantSettings { enabled: boolean; serviceProvider: AIServiceProvider; endpoint?: string; apiKey?: string; enabledSuggestionTypes: SuggestionType[]; analysisDelay: number; maxSuggestions: number; confidenceThreshold: number; showInlineAnnotations: boolean; showSuggestionPopover: boolean; animationsEnabled: boolean; popoverDelay: number; maxPopoverWidth: number; writingStyle: WritingStyle; tonePreference: string[]; languageLevel: 'beginner' | 'intermediate' | 'advanced'; customInstructions?: string; privacyMode: PrivacyMode; dataRetentionDays: number; allowTelemetry: boolean; encryptLocalData: boolean; enableStreaming: boolean; enableCaching: boolean; enableOfflineMode: boolean; maxConcurrentRequests: number; enableKnowledgeIntegration: boolean; knowledgeGraphEndpoint?: string; enableChatContext: boolean; enableCollaborativeAnalysis: boolean; enablePersonalization: boolean; learningRate: number; adaptToWritingStyle: boolean; rememberDismissedSuggestions: boolean; } export interface ColorTheme { grammar: string; tone: string; clarity: string; facts: string; style: string; conciseness: string; sensitivity: string; knowledge: string; completion: string; } export interface KeyboardShortcuts { toggleAssistant: string; acceptSuggestion: string; dismissSuggestion: string; nextSuggestion: string; previousSuggestion: string; openSettings: string; } export declare class ConfigurationManager { private static readonly STORAGE_KEY; private static readonly DEFAULTS; private static readonly DEFAULT_COLORS; private static readonly DEFAULT_SHORTCUTS; private settings; private colors; private shortcuts; private personalizationData; private changeListeners; constructor(); /** * Get current settings */ getSettings(): AIAssistantSettings; /** * Update settings */ updateSettings(updates: Partial<AIAssistantSettings>): void; /** * Reset settings to defaults */ resetSettings(): void; /** * Get color theme */ getColors(): ColorTheme; /** * Update color theme */ updateColors(updates: Partial<ColorTheme>): void; /** * Reset colors to defaults */ resetColors(): void; /** * Get keyboard shortcuts */ getShortcuts(): KeyboardShortcuts; /** * Update keyboard shortcuts */ updateShortcuts(updates: Partial<KeyboardShortcuts>): void; /** * Get personalization data */ getPersonalizationData(): PersonalizationData | null; /** * Update personalization data */ updatePersonalizationData(data: Partial<PersonalizationData>): void; /** * Clear personalization data */ clearPersonalizationData(): void; /** * Generate pipeline configuration from current settings */ getPipelineConfig(): AnalysisPipelineConfig; /** * Add change listener */ addChangeListener(listener: (settings: AIAssistantSettings) => void): void; /** * Remove change listener */ removeChangeListener(listener: (settings: AIAssistantSettings) => void): void; /** * Export configuration for backup */ exportConfiguration(): string; /** * Import configuration from backup */ importConfiguration(configJson: string): boolean; /** * Get privacy-compliant settings summary */ getPrivacySummary(): object; /** * Private methods */ private loadSettings; private saveSettings; private loadColors; private saveColors; private loadShortcuts; private saveShortcuts; private loadPersonalizationData; private savePersonalizationData; private removeFromStorage; private validateSettings; private mapPrivacyMode; private notifyListeners; } export declare const configManager: ConfigurationManager; //# sourceMappingURL=ConfigurationManager.d.ts.map