import ArenaSelection from '../helpers/ArenaSelection';
import { ArenaNodeText } from '../interfaces/ArenaNode';
import ArenaServiceManager from './ArenaServiceManager';
export default class ArenaView {
    protected asm: ArenaServiceManager;
    constructor(asm: ArenaServiceManager);
    render(selection?: ArenaSelection): void;
    getCurrentSelection(): ArenaSelection | undefined;
    resetCurrentSelection(): void;
    protected currentSelection: ArenaSelection | undefined;
    protected applyArenaSelection(selection: ArenaSelection): ArenaView;
    detectArenaSelection(): ArenaSelection | undefined;
    protected getNodeIdAndOffset(node: Node | HTMLElement, offset: number): [string, number] | undefined;
    protected getChildNodes(node: HTMLElement): ChildNode[];
    protected isEmptyNode(node: Node): boolean;
    protected getTextLength(node: ChildNode): number;
    protected getElementAndOffset(node: ArenaNodeText, offset: number): [ChildNode, number] | undefined;
    findElementById(id: string): Element | null;
    protected reachOffset(element: Element, offset: number): [ChildNode, number] | number;
}
//# sourceMappingURL=ArenaView.d.ts.map