import * as Core from "@intelligentgraphics/ig.gfx.core";
import { MathTypes } from "@intelligentgraphics/ig.gfx.core";
/** Class for calculation of wall points in SnapMatches. */
export default class WallPointCalculator {
    /** The id of the wall */
    private wallId;
    /** The id of the component that snaps to the wall */
    private componentId;
    /** The point of the component that will snap to the wall point */
    private componentPoint;
    /** The point at the wall that the component will snap to. */
    private wallPoint;
    /**
     * The constructor
     * @param wallId
     * @param componentId
     */
    constructor(wallId: Core.ComponentId, componentId: Core.ComponentId, desiredComponentTransformation?: MathTypes.Transformation);
    /**
     * Get the point at the wall
     * @returns {Core.Point}
     */
    getWallPoint(): Core.Point;
    /**
     * Get the point at the object.
     * @returns {Core.Point}
     */
    getComponentPoint(): Core.Point;
    /**
     * Calculate the component and wall point.
     * The point on the object is chosen to be the middle of the x-Bounds,
     * so that the back of the object will be snapped to the wall.
     * The point on the wall is chosen to be the point that is closest to this, i.e. the projection to the wall plane.
     */
    private init;
}
