import { PiElement } from "../../language/PiModel";
export declare abstract class Box {
    $id: string;
    kind: string;
    role: string;
    roleNumber: number;
    element: PiElement;
    style: string;
    selectable: boolean;
    parent: Box;
    actualX: number;
    actualY: number;
    actualWidth: number;
    actualHeight: number;
    constructor(element: PiElement, role: string);
    get id(): string;
    get root(): Box;
    get children(): ReadonlyArray<Box>;
    get firstLeaf(): Box;
    isLeaf(): boolean;
    get lastLeaf(): Box;
    get nextLeafRight(): Box;
    get nextLeafLeft(): Box;
    toString(): string;
    find(id: string): Box | null;
    findBox(elementId: string, role?: string): Box;
    setSetFocus(func: () => void): void;
    setFocus: () => void;
    get firstEditableChild(): Box;
    private getEditableChildren;
    private getEditableChildrenRecursive;
    isEditable(): boolean;
}
//# sourceMappingURL=Box.d.ts.map