import { Edge, Orientation } from "./builder"; import Rectangle from "./rectangle"; export default abstract class Constraint { condition?: (target: Rectangle, popover: Rectangle, pointer: Rectangle) => boolean; abstract solveFor(boundingRect: Rectangle, targetRect: Rectangle, popoverRect: Rectangle, pointerRect: Rectangle, positionOver: boolean): { orientation: Orientation; edge: Edge; valid: boolean; }; horizontallyCenter(target: Rectangle, popover: Rectangle, pointer: Rectangle): void; verticallyCenter(target: Rectangle, popover: Rectangle, pointer: Rectangle): void; positionAbove(target: Rectangle, popover: Rectangle, pointer: Rectangle, positionOver: boolean): void; positionBelow(target: Rectangle, popover: Rectangle, pointer: Rectangle, positionOver: boolean): void; positionLeft(target: Rectangle, popover: Rectangle, pointer: Rectangle, positionOver: boolean): void; positionRight(target: Rectangle, popover: Rectangle, pointer: Rectangle, positionOver: boolean): void; positionCenter(target: Rectangle, popover: Rectangle, pointer: Rectangle): void; } //# sourceMappingURL=constraint.d.ts.map