/** * History Management Factory * * Factory functions for managing and analyzing debug history */ import type { DebugHistoryEntry, ConfigHistoryEntry, DebuggerConfigSource, ConfigConflict, NetworkInfo, NETWORK_QUALITY } from '@plyaz/types/api'; /** * Create a configuration history entry */ export declare function createConfigHistoryEntry(params: { changeType: 'override' | 'restore' | 'preset_change' | 'user_preference' | 'auto_optimization'; changes?: Array<{ property: string; previousValue: unknown; newValue: unknown; source: DebuggerConfigSource; }>; networkConditions?: { quality: NETWORK_QUALITY; info: NetworkInfo; }; trigger?: string; timestamp?: number; }): ConfigHistoryEntry; /** * Create a debug history entry */ export declare function createHistoryEntry(params: { type: 'config' | 'header' | 'network' | 'performance' | 'event' | 'event_operation'; source: DebuggerConfigSource; changes?: Array<{ property: string; oldValue: unknown; newValue: unknown; source: DebuggerConfigSource; timestamp: number; }>; conflicts?: ConfigConflict[]; headers?: Record; stage?: 'base' | 'enriched' | 'interceptor' | 'final'; metadata?: Record; timestamp?: number; }): DebugHistoryEntry; /** * Analyze history patterns */ export declare function analyzeHistoryPatterns(history: DebugHistoryEntry[]): { patternSummary: { configChanges: number; headerChanges: number; networkEvents: number; performanceEvents: number; }; frequentChanges: Array<{ property: string; count: number; }>; timePatterns: { peakHour?: number; averageInterval: number; burstDetected: boolean; }; recommendations: string[]; }; /** * Compact history entries to reduce memory usage */ export declare function compactHistory(history: DebugHistoryEntry[], maxEntries?: number): DebugHistoryEntry[]; /** * Create a history summary */ export declare function createHistorySummary(history: DebugHistoryEntry[]): { totalEntries: number; timeRange: { start: number; end: number; } | null; entryTypes: Record; topSources: Array<{ source: string; count: number; }>; hasConflicts: boolean; totalChanges: number; }; /** * Filter history entries by criteria */ export declare function filterHistory(params: { history: DebugHistoryEntry[]; type?: 'config' | 'header' | 'network' | 'performance'; source?: DebuggerConfigSource; startTime?: number; endTime?: number; hasConflicts?: boolean; }): DebugHistoryEntry[]; //# sourceMappingURL=history.d.ts.map