import { Box } from "../editor/boxes/Box";
import { PiBinaryExpression, PiElement, PiExpression } from "../language/PiModel";
import { PiEditor } from "../editor/PiEditor";
export declare const BEFORE_BINARY_OPERATOR = "binary-pre";
export declare const AFTER_BINARY_OPERATOR = "binary-post";
export declare const LEFT_MOST = "exp-left";
export declare const RIGHT_MOST = "exp-right";
export declare const EXPRESSION_PLACEHOLDER = "expression-placeholder";
export declare const BINARY_OPERATOR = "binary-operator";
export declare const BINARY_EXPRESSION = "binary-expression";
export declare const EXPRESSION = "expression";
export declare const EXPRESSION_SYMBOL = "symbol";
export declare type Selected = {
    element: PiElement;
    boxRoleToSelect: string;
};
declare class BTree {
    isRightMostChild(exp: PiExpression): boolean;
    isLeftMostChild(exp: PiExpression): boolean;
    setRightExpression(exp: PiBinaryExpression, newExp: PiBinaryExpression, editor: PiEditor): void;
    setLeftExpression(exp: PiBinaryExpression, newExp: PiBinaryExpression, editor: PiEditor): void;
    insertBinaryExpression(newBinExp: PiBinaryExpression, box: Box, editor: PiEditor): Selected | null;
    balanceTree(exp: PiBinaryExpression, editor: PiEditor): void;
}
export declare const BTREE: BTree;
export {};
//# sourceMappingURL=BalanceTreeUtils.d.ts.map