import { Optional } from '@ephox/katamari';
import { SugarPosition } from '@ephox/sugar';
import * as Boxes from '../../alien/Boxes';
import { AnchorBox } from './LayoutTypes';
export interface BoundsRestriction {
    readonly left: Optional<number>;
    readonly right: Optional<number>;
    readonly top: Optional<number>;
    readonly bottom: Optional<number>;
}
export declare const enum AnchorBoxBounds {
    RightEdge = 0,
    LeftEdge = 1,
    TopEdge = 2,
    BottomEdge = 3
}
type BoundsRestrictionKeys = keyof BoundsRestriction;
type Restriction = AnchorBoxBounds;
export declare const boundsRestriction: (anchor: AnchorBox, restrictions: Partial<Record<BoundsRestrictionKeys, Restriction>>) => BoundsRestriction;
export declare const adjustBounds: (bounds: Boxes.Bounds, restriction: BoundsRestriction, bubbleOffset: SugarPosition) => Boxes.Bounds;
export {};
//# sourceMappingURL=LayoutBounds.d.ts.map