import { TemplateResult } from 'lit'; import { ArenaCursorAncestor, ArenaCursorText, ArenaFormatings, ChildArena, ChildArenaNode, NodeAttributes, ParentArena } from '../interfaces'; import { AbstractNode } from './AbstractNode'; export declare abstract class AbstractParentNode extends AbstractNode { readonly hasParent: boolean; readonly hasChildren: true; readonly hasText: false; readonly inline: false; readonly single: false; get automerge(): boolean; get group(): boolean; get protected(): boolean; children: ChildArenaNode[]; constructor(arena: TArena, id: string, children?: ChildArenaNode[], attributes?: NodeAttributes); getTemplate(frms: ArenaFormatings): TemplateResult | string; getOutput(type: string, frms: ArenaFormatings): string; getDataHtml(frms: ArenaFormatings, start?: number, end?: number): string; getPlainText(start?: number, end?: number): string; getTextCursor(index?: number): ArenaCursorText | undefined; isAllowedNode(arena: ChildArena): boolean; insertNode(node: ChildArenaNode, offset?: number): ChildArenaNode | undefined; getChild(index: number): ChildArenaNode | undefined; removeChild(index: number): ArenaCursorAncestor; getChildren(): ChildArenaNode[]; insertChildren(nodes: ChildArenaNode[], offset?: number): ChildArenaNode[]; mergeChildren(index: number): ArenaCursorAncestor; cutChildren(start: number, length?: number): ChildArenaNode[]; removeChildren(start: number, length?: number): void; resetCache(): void; protected cache: TemplateResult | string | undefined; protected getPseudoCursor(index: number): [string, TemplateResult]; }