import * as glass_easel from 'glass-easel'; import { EventOptions, Event, backend, DataValue, DataChange, Node, Element, SlotMode, BackendMode, StyleScopeManager, EventBubbleStatus, templateEngine, GeneralComponent, GeneralBehavior, NormalizedComponentOptions, ShadowRoot, GeneralBehaviorBuilder } from 'glass-easel'; interface IDGenerator { gen(): number; release(id: number): void; } declare const getLinearIdGenerator: () => IDGenerator; declare const getRandomIdGenerator: () => IDGenerator; declare const enum ChannelEventType { CREATE = 1, CREATE_CALLBACK = 2, DESTROY = 3, ON_WINDOW_RESIZE = 4, ON_WINDOW_RESIZE_CALLBACK = 5, ON_THEME_CHANGE = 6, ON_THEME_CHANGE_CALLBACK = 7, RENDER = 8, RENDER_CALLBACK = 9, CREATE_MEDIA_QUERY_OBSERVER = 10, MEDIA_QUERY_OBSERVER_CALLBACK = 11, CREATE_INTERSECTION_OBSERVER = 12, INTERSECTION_OBSERVER_CALLBACK = 13, CREATE_RESIZE_OBSERVER = 14, RESIZE_OBSERVER_CALLBACK = 15, DISCONNECT_OBSERVER = 16, ELEMENT_FROM_POINT = 17, ELEMENT_FROM_POINT_CALLBACK = 18, CREATE_ELEMENT = 19, CREATE_COMPONENT = 20, CREATE_TEXT_NODE = 21, CREATE_VIRTUAL_NODE = 22, CREATE_FRAGMENT = 23, RELEASE = 24, APPEND_CHILD = 25, REMOVE_CHILD = 26, INSERT_BEFORE = 27, REPLACE_CHILD = 28, SPLICE_BEFORE = 29, SPLICE_APPEND = 30, SPLICE_REMOVE = 31, SET_ID = 32, SET_SLOT = 33, SET_SLOT_NAME = 34, SET_SLOT_ELEMENT = 35, SET_INHERIT_SLOTS = 36, REGISTER_STYLE_SCOPE = 37, SET_STYLE = 38, ADD_CLASS = 39, REMOVE_CLASS = 40, SET_CLASS_ALIAS = 41, SET_ATTRIBUTE = 42, REMOVE_ATTRIBUTE = 43, SET_DATASET = 44, SET_TEXT = 45, SET_LISTENER_STATS = 46, ON_CREATE_EVENT = 47, ON_EVENT = 48, ON_RELEASE_EVENT = 49, SET_MODEL_BINDING_STAT = 50, SET_MODEL_BINDING_STAT_CALLBACK = 51, GET_CONTEXT = 52, GET_CONTEXT_CALLBACK = 53, ASSOCIATE_VALUE = 54, INIT_VALUES = 55, UPDATE_VALUES = 56, REGISTER_STYLE_SHEET_CONTENT = 57, APPEND_STYLE_SHEET_PATH = 58, DISABLE_STYLE_SHEET = 59, GET_ALL_COMPUTED_STYLES = 60, GET_ALL_COMPUTED_STYLES_CALLBACK = 61, GET_PSEUDO_COMPUTED_STYLES = 62, GET_PSEUDO_COMPUTED_STYLES_CALLBACK = 63, GET_INHERITED_RULES = 64, GET_INHERITED_RULES_CALLBACK = 65, GET_MATCHED_RULES = 66, GET_MATCHED_RULES_CALLBACK = 67, REPLACE_STYLE_SHEET_ALL_PROPERTIES = 68, REPLACE_STYLE_SHEET_ALL_PROPERTIES_CALLBACK = 69, GET_BOUNDING_CLIENT_RECT = 70, GET_BOUNDING_CLIENT_RECT_CALLBACK = 71, GET_SCROLL_OFFSET = 72, GET_SCROLL_OFFSET_CALLBACK = 73, SET_SCROLL_POSITION = 74, GET_BOX_MODEL = 75, GET_BOX_MODEL_CALLBACK = 76, GET_PSEUDO_TYPES = 77, GET_PSEUDO_TYPES_CALLBACK = 78, START_OVERLAY_INSPECT = 79, START_OVERLAY_INSPECT_CALLBACK = 80, STOP_OVERLAY_INSPECT = 81, TRIGGER_NATIVE_EVENT = 82, MANIPULATE_NATIVE_NODE = 83, MANIPULATE_NATIVE_NODE_CALLBACK = 84, GET_ACTIVE_ELEMENT = 85, GET_ACTIVE_ELEMENT_CALLBACK = 86, PERFORMANCE_START_TRACE = 87, PERFORMANCE_END_TRACE = 88, PERFORMANCE_STATS_CALLBACK = 89, INSERT_DYNAMIC_SLOT = 90, UPDATE_DYNAMIC_SLOT = 91, REMOVE_DYNAMIC_SLOT = 92, CUSTOM_METHOD = 93 } type ChannelEventTypeViewSide = ChannelEventType.CREATE_CALLBACK | ChannelEventType.ON_WINDOW_RESIZE_CALLBACK | ChannelEventType.ON_THEME_CHANGE_CALLBACK | ChannelEventType.RENDER_CALLBACK | ChannelEventType.MEDIA_QUERY_OBSERVER_CALLBACK | ChannelEventType.INTERSECTION_OBSERVER_CALLBACK | ChannelEventType.RESIZE_OBSERVER_CALLBACK | ChannelEventType.ELEMENT_FROM_POINT_CALLBACK | ChannelEventType.SET_MODEL_BINDING_STAT_CALLBACK | ChannelEventType.GET_ALL_COMPUTED_STYLES_CALLBACK | ChannelEventType.GET_PSEUDO_COMPUTED_STYLES_CALLBACK | ChannelEventType.GET_INHERITED_RULES_CALLBACK | ChannelEventType.GET_MATCHED_RULES_CALLBACK | ChannelEventType.REPLACE_STYLE_SHEET_ALL_PROPERTIES_CALLBACK | ChannelEventType.GET_BOUNDING_CLIENT_RECT_CALLBACK | ChannelEventType.GET_SCROLL_OFFSET_CALLBACK | ChannelEventType.GET_BOX_MODEL_CALLBACK | ChannelEventType.GET_PSEUDO_TYPES_CALLBACK | ChannelEventType.START_OVERLAY_INSPECT_CALLBACK | ChannelEventType.MANIPULATE_NATIVE_NODE_CALLBACK | ChannelEventType.GET_ACTIVE_ELEMENT_CALLBACK | ChannelEventType.GET_CONTEXT_CALLBACK | ChannelEventType.ON_CREATE_EVENT | ChannelEventType.ON_EVENT | ChannelEventType.ON_RELEASE_EVENT | ChannelEventType.PERFORMANCE_STATS_CALLBACK | ChannelEventType.INSERT_DYNAMIC_SLOT | ChannelEventType.UPDATE_DYNAMIC_SLOT | ChannelEventType.REMOVE_DYNAMIC_SLOT | ChannelEventType.CUSTOM_METHOD; type ChannelEventTypeDataSide = Exclude | ChannelEventType.CUSTOM_METHOD; type Channel = ReturnType; declare const MessageChannelDataSide: (publish: (arg: readonly [T, ...T extends ChannelEventType ? { 1: [number]; 2: [number, number, number, number, string]; 3: []; 4: [number]; 5: [number, number, number, number]; 6: [number]; 7: [number, string]; 8: [number]; 9: [number, string | null]; 10: [string, number]; 11: [number, string]; 12: [number, number | null, string, number[], number]; 13: [number, string]; 14: [number, number, number]; 15: [number, string]; 16: [number]; 17: [number, number, number]; 18: [number, number | null]; 19: [number, string, string, number]; 20: [ number, number, string, boolean, number, number | null, string[] | undefined, number | null, boolean, number ]; 21: [number, string, number]; 22: [number, string, number]; 23: [number]; 24: [number]; 25: [number, number]; 26: [number, number]; 27: [number, number, number]; 28: [number, number, number]; 29: [number, number, number, number]; 30: [number, number]; 31: [number, number, number]; 32: [number, string]; 33: [number, string]; 34: [number, string]; 35: [number, number | null]; 36: [number]; 37: [number, string | undefined]; 38: [number, string, number]; 39: [number, string]; 40: [number, string]; 41: [number, string, string[]]; 42: [number, string, unknown]; 43: [number, string]; 44: [number, string, unknown]; 45: [number, string]; 46: [number, string, boolean, number]; 50: [number, string, number | null]; 51: [number, string]; 52: [number, number]; 53: [number, string]; 47: [ number, string, string, string, number, string, number, boolean ]; 48: [number, number, string, number, boolean]; 49: [number]; 54: [number, string]; 55: [number, string]; 56: [number, string]; 57: [string, string]; 58: [number, string, number | undefined]; 59: [number]; 87: [number]; 88: [number, number]; 89: [number, number, number]; 60: [number, number]; 61: [number, string]; 62: [number, string, number]; 63: [number, string]; 64: [number, number]; 65: [number, string]; 66: [number, number]; 67: [number, string]; 68: [number, number, string, number]; 69: [number, number | null]; 70: [number, number]; 71: [number, number, number, number, number]; 72: [number, number]; 73: [number, number, number, number, number]; 74: [number, number, number, number]; 75: [number, number]; 76: [number, string]; 77: [number, number]; 78: [number, string[]]; 79: [number]; 80: [number, string, number | null]; 81: []; 82: [number, string, string]; 83: [number, string, string, number]; 84: [number, string]; 85: [number]; 86: [number, number | null]; 90: [number, [number, string, string][]]; 91: [number, string, string[]]; 92: [number[]]; 93: [number | null, unknown]; }[T] : never]) => void, subscribe: (cb: (arg: [ChannelEventType.CREATE_CALLBACK, number, number, number, number, string] | [ChannelEventType.ON_WINDOW_RESIZE_CALLBACK, number, number, number, number] | [ChannelEventType.ON_THEME_CHANGE_CALLBACK, number, string] | [ChannelEventType.RENDER_CALLBACK, number, string | null] | [ChannelEventType.MEDIA_QUERY_OBSERVER_CALLBACK, number, string] | [ChannelEventType.INTERSECTION_OBSERVER_CALLBACK, number, string] | [ChannelEventType.RESIZE_OBSERVER_CALLBACK, number, string] | [ChannelEventType.ELEMENT_FROM_POINT_CALLBACK, number, number | null] | [ChannelEventType.ON_CREATE_EVENT, number, string, string, string, number, string, number, boolean] | [ChannelEventType.ON_EVENT, number, number, string, number, boolean] | [ChannelEventType.ON_RELEASE_EVENT, number] | [ChannelEventType.SET_MODEL_BINDING_STAT_CALLBACK, number, string] | [ChannelEventType.GET_CONTEXT_CALLBACK, number, string] | [ChannelEventType.GET_ALL_COMPUTED_STYLES_CALLBACK, number, string] | [ChannelEventType.GET_PSEUDO_COMPUTED_STYLES_CALLBACK, number, string] | [ChannelEventType.GET_INHERITED_RULES_CALLBACK, number, string] | [ChannelEventType.GET_MATCHED_RULES_CALLBACK, number, string] | [ChannelEventType.REPLACE_STYLE_SHEET_ALL_PROPERTIES_CALLBACK, number, number | null] | [ChannelEventType.GET_BOUNDING_CLIENT_RECT_CALLBACK, number, number, number, number, number] | [ChannelEventType.GET_SCROLL_OFFSET_CALLBACK, number, number, number, number, number] | [ChannelEventType.GET_BOX_MODEL_CALLBACK, number, string] | [ChannelEventType.GET_PSEUDO_TYPES_CALLBACK, number, string[]] | [ChannelEventType.START_OVERLAY_INSPECT_CALLBACK, number, string, number | null] | [ChannelEventType.MANIPULATE_NATIVE_NODE_CALLBACK, number, string] | [ChannelEventType.GET_ACTIVE_ELEMENT_CALLBACK, number, number | null] | [ChannelEventType.PERFORMANCE_STATS_CALLBACK, number, number, number] | [ChannelEventType.INSERT_DYNAMIC_SLOT, number, [number, string, string][]] | [ChannelEventType.UPDATE_DYNAMIC_SLOT, number, string, string[]] | [ChannelEventType.REMOVE_DYNAMIC_SLOT, number[]] | [ChannelEventType.CUSTOM_METHOD, number | null, unknown]) => void) => void, idGenerator: () => IDGenerator) => { create: (init: (res: { windowInfo: { width: number; height: number; devicePixelRatio: number; }; themeInfo: { theme: string; }; }) => void) => void; destroy: () => void; onWindowResize: (cb: (res: { width: number; height: number; devicePixelRatio: number; }) => void) => void; onThemeChange: (cb: (res: { theme: string; }) => void) => void; render: (cb: (err: Error | null) => void) => void; onEvent: (_createEvent: (eventName: string, detail: any, options: EventOptions) => Event, _triggerEvent: (event: Event, currentTargetId: number, mark: Record | null, targetId: number, isCapture: boolean) => void) => void; createMediaQueryObserver: (status: backend.MediaQueryStatus, listener: (res: { matches: boolean; }) => void) => number; createIntersectionObserver: (target: number, relativeElement: number | null, relativeElementMargin: string, thresholds: number[], listener: (res: backend.IntersectionStatus) => void) => number; createResizeObserver: (target: number, mode: backend.ResizeObserverMode, listener: (res: backend.ResizeStatus) => void) => number; disconnectObserver: (id: number) => void; elementFromPoint: (x: number, y: number, cb: (res: number | null) => void) => void; createElement: (id: number, logicalName: string, stylingName: string, ownerShadowRootId: number) => void; createComponent: (id: number, shadowRootId: number, tagName: string, virtualHost: boolean, styleScope: number, extraStyleScope: number | null, externalClasses: string[] | undefined, slotMode: number | null, writeIdToDOM: boolean, ownerShadowRootId: number) => void; createTextNode: (id: number, textContent: string, ownerShadowRootId: number) => void; createVirtualNode: (id: number, virtualName: string, ownerShadowRootId: number) => void; createFragment: (id: number) => void; release: (id: number) => void; appendChild: (parentId: number, childId: number) => void; removeChild: (parentId: number, childId: number) => void; insertBefore: (parentId: number, childId: number, beforeId: number) => void; replaceChild: (parentId: number, childId: number, oldChildId: number) => void; spliceBefore: (parentId: number, beforeId: number, deleteCount: number, fragmentId: number) => void; spliceAppend: (parentId: number, fragmentId: number) => void; spliceRemove: (parentId: number, startId: number, deleteCount: number) => void; associateValue: (componentId: number, data: Record) => void; setId: (elementId: number, id: string) => void; setSlot: (nodeId: number, name: string) => void; setSlotName: (nodeId: number, name: string) => void; setSlotElement: (nodeId: number, slot: number | null) => void; setInheritSlots: (nodeId: number) => void; registerStyleScope: (scopeId: number, stylePrefix: string | undefined) => void; setStyle: (elementId: number, styleText: string, styleSegmentIndex: number) => void; addClass: (elementId: number, className: string) => void; removeClass: (elementId: number, className: string) => void; setClassAlias: (elementId: number, className: string, target: string[]) => void; setAttribute: (elementId: number, name: string, value: unknown) => void; removeAttribute: (elementId: number, name: string) => void; setDataset: (elementId: number, name: string, value: unknown) => void; setText: (textNodeId: number, textContent: string) => void; setListenerStats: (node: number, eventName: string, capture: boolean, mutLevel: number) => void; setModelBindingStat: (node: number, attributeName: string, listener: ((newValue: unknown) => void) | null) => void; getContext: (element: number, cb: (res: any) => void) => void; initValues: (elementId: number, values: DataValue) => void; updateValues: (elementId: number, values: DataChange[]) => void; registerStyleSheetContent: (path: string, content: unknown) => void; appendStyleSheetPath: (index: number, path: string, styleScope?: number) => void; disableStyleSheet: (index: number) => void; getAllComputedStyles: (elementId: number, cb: (res: backend.GetAllComputedStylesResponses) => void) => void; getPseudoComputedStyles: (elementId: number, pseudoType: string, cb: (res: backend.GetAllComputedStylesResponses) => void) => void; getInheritedRules: (elementId: number, cb: (res: backend.GetInheritedRulesResponses) => void) => void; replaceStyleSheetAllProperties: (sheetIndex: number, ruleIndex: number, inlineStyle: string, cb: (propertyIndex: number | null) => void) => void; getBoundingClientRect: (parent: number, cb: (res: backend.BoundingClientRect) => void) => void; getBoxModel: (elementId: number, cb: (res: { margin: backend.BoundingClientRect; border: backend.BoundingClientRect; padding: backend.BoundingClientRect; content: backend.BoundingClientRect; }) => void) => void; getMatchedRules: (elementId: number, cb: (res: backend.GetMatchedRulesResponses) => void) => void; getScrollOffset: (elementId: number, cb: (res: backend.ScrollOffset) => void) => void; setScrollPosition: (elementId: number, scrollLeft: number, scrollTop: number, duration: number) => void; getPseudoTypes: (elementId: number, cb: (res: string[]) => void) => void; startOverlayInspect: (cb: (event: string, elementId: number | null) => void) => void; stopOverlayInspect: () => void; triggerNativeEvent: (elementId: number, eventName: string, detail: unknown) => void; manipulateNativeNode: (elementId: number, action: string, args: unknown, cb: (res: unknown) => void) => void; getActiveElement: (cb: (elementId: number | null) => void) => void; performanceStartTrace: (index: number) => void; performanceEndTrace: (id: number, cb: (stats: { startTimestamp: number; endTimestamp: number; }) => void) => void; setDynamicSlotHandler: (_insertSlotHandler: (elementId: number, slots: { slotId: number; name: string; slotValues: { [name: string]: unknown; }; }[]) => void, _removeSlotHandler: (slots: number[]) => void, _updateSlotHandler: (slot: number, slotValues: { [name: string]: unknown; }, changedNames: string[]) => void) => void; callCustomMethod: (elementId: number | null, options: any) => void; onCustenMethod: (handler: (elementId: number | null, options: any) => void) => void; }; interface ReplayHandler { createElement?(ownerShadowRoot: backend.ShadowRootContext, elem: Node): backend.Element; afterReplayElement?(ownerShadowRoot: backend.ShadowRootContext, elem: Node, be: backend.Element): void; } declare function replayShadowBackend(glassEasel: typeof glass_easel, context: backend.Context, element: Node, handlers: ReplayHandler): backend.Element; declare const enum ShadowSyncElementType { Fragment = 0, Element = 1, TextNode = 2, Component = 3, ShadowRoot = 4, VirtualNode = 5 } declare class ShadowSyncElement implements backend.Element { protected _context: ShadowSyncBackendContext; type: ShadowSyncElementType; ownerShadowRoot: ShadowSyncShadowRoot; _id: number; _slotId: number | undefined; __wxElement: Element | undefined; shadowRoot: ShadowSyncShadowRoot | undefined; static createElement(context: ShadowSyncBackendContext, logicalName: string, stylingName: string, ownerShadowRoot: ShadowSyncShadowRoot): ShadowSyncElement; static createComponent(context: ShadowSyncBackendContext, tagName: string, virtualHost: boolean, styleScope: number, extraStyleScope: number | null, externalClasses: string[] | undefined, slotMode: SlotMode, writeIdToDOM: boolean, ownerShadowRoot: ShadowSyncShadowRoot): ShadowSyncElement; static createTextNode(context: ShadowSyncBackendContext, textContent: string, ownerShadowRoot: ShadowSyncShadowRoot): ShadowSyncElement; static createVirtualNode(context: ShadowSyncBackendContext, virtualName: string, ownerShadowRoot: ShadowSyncShadowRoot): ShadowSyncElement; static createFragment(context: ShadowSyncBackendContext): ShadowSyncElement; protected constructor(_context: ShadowSyncBackendContext, type: ShadowSyncElementType, ownerShadowRoot: ShadowSyncShadowRoot); getChannel(): Channel; release(): void; associateValue(v: Element): void; getShadowRoot(): ShadowSyncShadowRoot | undefined; appendChild(child: ShadowSyncElement): void; removeChild(child: ShadowSyncElement): void; insertBefore(child: ShadowSyncElement, before: ShadowSyncElement): void; replaceChild(child: ShadowSyncElement, oldChild: ShadowSyncElement): void; spliceBefore(before: ShadowSyncElement, deleteCount: number, list: ShadowSyncElement): void; spliceAppend(list: ShadowSyncElement): void; spliceRemove(start: ShadowSyncElement, deleteCount: number): void; setId(id: string): void; setSlot(name: string): void; setSlotName(name: string): void; setSlotElement(slot: ShadowSyncElement | null): void; setInheritSlots(): void; setStyle(styleText: string, styleSegmentIndex: number): void; addClass(className: string): void; removeClass(className: string): void; setClassAlias(className: string, target: string[]): void; setAttribute(name: string, value: any): void; removeAttribute(name: string): void; setDataset(name: string, value: unknown): void; setText(content: string): void; getAllComputedStyles(cb: (res: backend.GetAllComputedStylesResponses) => void): void; getPseudoComputedStyles(pseudoType: string, cb: (res: backend.GetAllComputedStylesResponses) => void): void; getInheritedRules(cb: (res: backend.GetInheritedRulesResponses) => void): void; getBoundingClientRect(cb: (res: { left: number; top: number; width: number; height: number; }) => void): void; getBoxModel(cb: (res: { margin: backend.BoundingClientRect; border: backend.BoundingClientRect; padding: backend.BoundingClientRect; content: backend.BoundingClientRect; }) => void): void; getMatchedRules(cb: (res: backend.GetMatchedRulesResponses) => void): void; getScrollOffset(cb: (res: { scrollLeft: number; scrollTop: number; scrollWidth: number; scrollHeight: number; }) => void): void; setScrollPosition(scrollLeft: number, scrollTop: number, duration: number): void; getPseudoTypes(cb: (res: string[]) => void): void; setModelBindingStat(attributeName: string, listener: ((newValue: unknown) => void) | null): void; setListenerStats(type: string, capture: boolean, mutLevel: number): void; createIntersectionObserver(relativeElement: ShadowSyncElement | null, relativeElementMargin: string, thresholds: number[], listener: (res: backend.IntersectionStatus) => void): backend.Observer; createResizeObserver(mode: backend.ResizeObserverMode, listener: (res: backend.ResizeStatus) => void): backend.Observer; triggerNativeEvent(type: string, detail: unknown): void; manipulateNativeNode(action: string, args: unknown, cb: (res: unknown) => void): void; getContext(cb: (res: any) => void): void; sendCustomMethod(options: unknown): void; } declare class ShadowSyncShadowRoot extends ShadowSyncElement implements backend.ShadowRootContext { private channel; getChannel(): Channel; disableAttachment(): void; createElement(logicalName: string, stylingName: string): ShadowSyncElement; createTextNode(content: string): ShadowSyncElement; createComponent(tagName: string, external: boolean, virtualHost: boolean, styleScope: number, extraStyleScope: number | null, externalClasses: string[] | undefined, slotMode: SlotMode, writeIdToDOM: boolean): ShadowSyncElement; createVirtualNode(virtualName: string): ShadowSyncElement; } declare class ShadowSyncBackendContext implements backend.Context { glassEasel: typeof glass_easel; channel: Channel; private styleScopeManager; mode: BackendMode.Shadow; dropBackendAfterRelease: boolean; private _elementIdGen; private _elementIdMap; private _slotIdMap; private _shadowRoot; private _$registeredStyleSheets; private _$appendedStyleSheets; private _$styleSheetIdInc; private _$styleScopeMap; private _windowInfo; private _themeInfo; private _windowResizeListener; private _themeChangeListener; private _createEvent; private _triggerEvent; private _traceIdGen; constructor(glassEasel: typeof glass_easel, channel: Channel, styleScopeManager: StyleScopeManager, idGenerator: () => IDGenerator); initContext(): void; getAssociateValueInfo(node: Node): Record; destroy(): void; getWindowWidth(): number; getWindowHeight(): number; getDevicePixelRatio(): number; onWindowResize(cb: (res: { width: number; height: number; devicePixelRatio: number; }) => void): void; getTheme(): string; onThemeChange(cb: (res: { theme: string; }) => void): void; registerStyleSheetContent(path: string, content: any): void; _checkStyleScope(styleScope: number | null | undefined): void; appendStyleSheetPath(path: string, styleScope: number | undefined): number; disableStyleSheet(index: number): void; replaceStyleSheetAllProperties(sheetIndex: number, ruleIndex: number, inlineStyle: string, callback: (propertyIndex: number | null) => void): void; startOverlayInspect(cb: (event: string, node: Element | null) => void): void; stopOverlayInspect(): void; render(cb: (err: Error | null) => void): void; getRootNode(): ShadowSyncShadowRoot; createFragment(): ShadowSyncElement; onEvent(_createEvent: (type: string, detail: any, options: EventOptions) => Event, _listener: (event: Event, currentTarget: Element, mark: Record | null, target: Element, isCapture: boolean) => EventBubbleStatus | void): void; createMediaQueryObserver(status: backend.MediaQueryStatus, listener: (res: { matches: boolean; }) => void): backend.Observer; getActiveElement(cb: (node: Element | null) => void): void; elementFromPoint(left: number, top: number, cb: (node: Element | null) => void): void; _genElementId(): number; _setElementId(id: number, elem: ShadowSyncElement): void; _getElementId(id: number): ShadowSyncElement | undefined; _removeElementId(id: number): void; performanceTraceStart(): number; performanceTraceEnd(id: number, cb: (stats: { startTimestamp: number; endTimestamp: number; }) => void): void; reInitContext(): void; replay(glassEasel: typeof glass_easel, roots: Node[], getShadowSyncElement: (elem: Node) => ShadowSyncElement, afterReplayElement?: (ownerShadowRoot: ShadowSyncShadowRoot, elem: Node, be: ShadowSyncElement) => void): void; sendCustomMethod(options: unknown): void; onCustomMethodFromView(handler: (element: Element | null, options: any) => void): void; } declare class ReflectTemplateEngine implements templateEngine.Template { static isHookedReflectingComponent(component: GeneralComponent): boolean; static create(_behavior: GeneralBehavior, _componentOptions: NormalizedComponentOptions): ReflectTemplateEngine; createInstance(elem: GeneralComponent, createShadowRoot: (component: GeneralComponent) => ShadowRoot): templateEngine.TemplateInstance; } declare const hookBuilderToSyncData: (builder: TBuilder, getComponentFromMethodCaller?: ((methodCaller: GeneralComponent) => GeneralComponent | undefined) | undefined) => TBuilder; declare const getNodeId: (node: Node) => number; export { type Channel, ChannelEventType, MessageChannelDataSide, ReflectTemplateEngine, type ReplayHandler, ShadowSyncBackendContext, ShadowSyncElement, ShadowSyncElementType, ShadowSyncShadowRoot, getLinearIdGenerator, getNodeId, getRandomIdGenerator, hookBuilderToSyncData, replayShadowBackend };