import { Event } from '../misc/Event'; import { TermScreen } from '../../term'; export declare class Node> { id: number; depth: number; nodeName: string; rootNode: TermScreen | undefined; parentNode: T | undefined; previousSibling: T; nextSibling: T; childNodes: T[]; reset(): void; eventListeners: { [name: string]: Function[]; }; addEventListener(name: string, func: (e: Event) => void, options?: { bubbles: true; }): () => void; removeEventListener(name: string, func: (e: Event) => void): void; dispatchEvent(event: Event, options?: any): void; appendTo(node: T): void; appendChild(node: T): void; insertBefore(node: T, referenceNode: T): void; linkBefore(node: T, referenceNode: any): void; removeChild(node: any): void; remove(): void; setPropertyAccessor(name: any, { validate, get, set }: { validate?: (val: any) => boolean; get?: any; set?: any; }): void; setPropertyTrigger(name: any, initial: any, { validate, trigger }: { validate?: (val: any) => boolean; trigger?: (val: any) => void; }): void; traverse: (fn: (el: T, depth: any) => void, { depth, currentDepth }?: { depth?: number; currentDepth?: number; }) => void; inspect(): string; } export declare function traverse>(node: Node, fn: (el: T, depth: any) => void, { depth, currentDepth }?: { depth?: number; currentDepth?: number; }): void; export declare function isInsideOf>(parent: T, child: T): boolean; export declare function traverseChildrenFirst>(node: T, func: (parent: T, child: T) => void): void;