import { Optional } from '@ephox/katamari'; import type { SugarElement } from '@ephox/sugar'; import type { GuiSystem } from '../api/system/Gui'; export interface DebuggerLogger { logEventCut: (eventName: string, target: SugarElement, purpose: string) => void; logEventStopped: (eventName: string, target: SugarElement, purpose: string) => void; logNoParent: (eventName: string, target: SugarElement, purpose: string) => void; logEventNoHandlers: (eventName: string, target: SugarElement) => void; logEventResponse: (eventName: string, target: SugarElement, purpose: string) => void; write: () => void; } export interface InspectorInfo { '(original.spec)': any; '(dom.ref)': Node; '(element)': string; '(initComponents)': InspectorInfo[]; '(components)': InspectorInfo[]; '(bound.events)': string; '(behaviours)': string | Record; } type LookupInfo = { [key: string]: InspectorInfo; } | { error: string; }; export interface Inspector { systems: Record; lookup: (uid: string) => Optional; events: { setToNormal: (eventName: string) => void; setToLogging: (eventName: string) => void; setToStop: (eventName: string) => void; }; } export type EventProcessor = (logger: DebuggerLogger) => boolean; declare const getTrace: () => string; declare const logHandler: (_label: string, _handlerName: string, _trace: any) => void; declare const monitorEvent: (eventName: string, initialTarget: SugarElement, f: EventProcessor) => boolean; declare const registerInspector: (name: string, gui: GuiSystem) => void; declare const noLogger: () => { logEventCut: (...args: any[]) => void; logEventStopped: (...args: any[]) => void; logNoParent: (...args: any[]) => void; logEventNoHandlers: (...args: any[]) => void; logEventResponse: (...args: any[]) => void; write: (...args: any[]) => void; }; declare const isDebugging: () => any; export { logHandler, noLogger, getTrace, monitorEvent, isDebugging, registerInspector }; //# sourceMappingURL=Debugging.d.ts.map