cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
131 lines • 4.47 kB
TypeScript
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