import { ArenaAttribute, ArenaCursorAncestor, NodeAttributes, ParentArenaNode, TreeArena } from '../interfaces'; export declare abstract class AbstractNode { readonly arena: TArena; readonly id: string; readonly hasParent: boolean; readonly hasChildren: boolean; readonly hasText: boolean; readonly inline: boolean; readonly single: boolean; protected _parent: ParentArenaNode | undefined; get parent(): ParentArenaNode; constructor(arena: TArena, id: string, attributes?: NodeAttributes); getId(): string; getIndex(): number; isFirstChild(): boolean; isLastChild(): boolean; getGlobalIndex(): string; getOpenTag(): string; getCloseTag(): string; getParent(): ArenaCursorAncestor; containsParent(parent: ParentArenaNode): boolean; setParent(parent: ParentArenaNode): void; getUnprotectedParent(): ArenaCursorAncestor | undefined; remove(): ArenaCursorAncestor; setAttribute(name: string, value: ArenaAttribute): void; setAttributes(attrs: NodeAttributes): void; getAttribute(name: string): ArenaAttribute; getAttributes(): NodeAttributes; protected attributes: NodeAttributes; }