UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

131 lines 4.47 kB
import { ICSElement } from '../types/interfaces'; import { IDevToolsManager, IElementInspector, IPerformanceProfiler, DevToolsEvent, DevToolsEventType, StructureSnapshot } from '../types/devtools-interfaces'; /** * Центральный менеджер DevTools для CSElement * Координирует работу инспектора элементов и профилировщика производительности */ export declare class DevToolsManager implements IDevToolsManager { private _eventEmitter; private _inspector; private _profiler; private _registeredElements; private _isEnabled; private _autoTrackElements; constructor(); get inspector(): IElementInspector; get profiler(): IPerformanceProfiler; /** * Подписаться на события DevTools */ addEventListener(eventType: DevToolsEventType, handler: (event: DevToolsEvent) => void): void; /** * Отписаться от событий DevTools */ removeEventListener(eventType: DevToolsEventType, handler: (event: DevToolsEvent) => void): void; /** * Отправить событие DevTools */ emitEvent(event: DevToolsEvent): void; on(eventType: DevToolsEventType, handler: (event: DevToolsEvent) => void): void; off(eventType: DevToolsEventType, handler: (event: DevToolsEvent) => void): void; emitDevToolsEvent(event: DevToolsEvent): void; /** * Зарегистрировать элемент для отслеживания */ registerElement(element: ICSElement): void; /** * Отменить регистрацию элемента */ unregisterElement(element: ICSElement): void; /** * Получить все зарегистрированные элементы */ getRegisteredElements(): ICSElement[]; /** * Создать глобальный снимок всех зарегистрированных элементов */ createGlobalSnapshot(): Map<string, StructureSnapshot>; /** * Включить/выключить DevTools */ setEnabled(enabled: boolean): void; /** * Проверить, включены ли DevTools */ isEnabled(): boolean; /** * Включить/выключить автоматическое отслеживание элементов */ setAutoTrackElements(enabled: boolean): void; /** * Проверить, включено ли автоматическое отслеживание */ isAutoTrackElementsEnabled(): boolean; /** * Получить статистику DevTools */ getStats(): { registeredElements: number; isEnabled: boolean; profilerStats: any; memoryUsage: number; }; /** * Выполнить диагностику системы */ runDiagnostics(): { issues: Array<{ type: 'warning' | 'error' | 'info'; message: string; elementId?: string; suggestion?: string; }>; summary: { totalIssues: number; criticalIssues: number; performance: 'good' | 'warning' | 'critical'; }; }; /** * Экспортировать данные DevTools */ exportData(options?: { includeSnapshots?: boolean; includeProfilerData?: boolean; includeElementData?: boolean; timeRange?: { start: number; end: number; }; }): { metadata: { exportedAt: number; version: string; elementCount: number; }; snapshots?: Map<string, StructureSnapshot>; profilerData?: any; elements?: any[]; }; /** * Импортировать данные DevTools */ importData(data: any): boolean; /** * Настройка обработчиков событий */ private setupEventHandlers; /** * Настройка отслеживания событий элемента */ private setupElementTracking; /** * Найти корневые элементы (без родителей) */ private findRootElements; /** * Оценить использование памяти */ private estimateMemoryUsage; } //# sourceMappingURL=DevToolsManager.d.ts.map