import { AddAfterListenerHook } from 'fastevent'; import { ClearListenersHook } from 'fastevent'; import { CSSResult } from 'lit'; import { FastEvent } from 'fastevent'; import { FastEventListenerArgs } from 'fastevent'; import { FastEventListenerFlags } from 'fastevent'; import { FastEventListenerMeta } from 'fastevent'; import { FastEventListenerNode } from 'fastevent'; import { FastEventMessage } from 'fastevent'; import { FastEventSubscriber } from 'fastevent'; import { LitElement } from 'lit'; import { RemoveListenerHook } from 'fastevent'; import { TemplateResult } from 'lit'; declare type EventLog = { id: number; done: boolean; message: WeakRef; triggerTime: number; duration: [number, number]; args: WeakRef; updateVersion: number; listeners: { fn: WeakRef; status: "running" | "ok" | "error"; name: string; tag: string | undefined; count: string; flags?: FastEventListenerFlags; result: any; }[]; }; /** * FastEventListeners 组件 - 显示 FastEvent 实例的监听器树 */ export declare class FastEventListeners extends LitElement { static styles: CSSResult; emitter?: FastEvent; dark: boolean; private _selectedPath; private _listeners; private _expandedNodes; lang: string; private _leftWidth; private _isResizing; private _resizeStartX; private _resizeStartWidth; /** * 根据路径从 emitter.listeners 中查找节点 */ private _getListenerNode; /** * 查找第一个有监听器的节点路径 */ private _findFirstNodeWithListeners; /** * 初始化展开状态 */ private _initializeExpandedNodes; /** * 刷新所有数据 */ private _refreshData; /** * 处理节点选择 */ private _handleNodeSelect; _onAddAfterListener: AddAfterListenerHook; _onRemoveListener: RemoveListenerHook; _onClearListeners: ClearListenersHook; private _setupHooks; private _clearHooks; /** * 处理节点展开/收起 */ private _handleNodeToggle; /** * 手动刷新 */ private _handleRefresh; private _handleResizeStart; private _handleResizeMove; private _handleResizeEnd; private _handleKeyDown; /** * 判断节点是否为空 */ private _isEmptyNode; /** * 渲染树节点 */ private renderTreeNode; /** * 渲染树 */ private renderTree; private renderListener; private renderListeners; willUpdate(changedProperties: Map): void; connectedCallback(): void; disconnectedCallback(): void; render(): TemplateResult<1>; } export declare class FastEventViewer extends LitElement { static styles: CSSResult; private _emitters; private _currentEmitterIndex; private _isDropdownOpen; private _emitterLogs; private _emitterLogIndexes; get emitter(): FastEvent | FastEvent[] | undefined; set emitter(value: FastEvent | FastEvent[] | undefined); dark: boolean; enable: boolean; /** * 允许显示的日志最大数量,超过此数量时自动删除旧的 */ maxSize: number; title: string; lang: string; /** * 是否在日志中显示监听器详情 */ showListeners: boolean; private _filterText; private _showListeners; private _isShowListeners; subscriber?: FastEventSubscriber; messages: FastEventMessage[]; logs: EventLog[]; private _logIndexs; connectedCallback(): void; disconnectedCallback(): void; willUpdate(changedProperties: Map): void; private _getCurrentEmitter; private _switchEmitter; private _handleDocumentClick; private _reattach; private _updateFilteredLogs; _onBeforeExecuteListener: (message: FastEventMessage, args: FastEventListenerArgs) => void; _getListenerMeta(meta: FastEventListenerMeta, status?: any): ItemOf; _onAfterExecuteListener: (message: FastEventMessage, returns: any[], _listeners: FastEventListenerNode[]) => void; private _attach; private _detach; clear(): void; /** * 在控制台显示监听器函数 * @param listener */ private _printListenerInfo; renderFilter(): TemplateResult<1>; private _renderEmitterMenu; private _getEmitterVarName; private _injectEmitterToConsole; renderHeader(): TemplateResult<1>; renderToolbar(): TemplateResult<1>; renderLogs(): TemplateResult<1>; render(): TemplateResult<1>; } declare type ItemOf = T extends (infer I)[] ? I : never; export { }