import * as Core from "@intelligentgraphics/ig.gfx.core";
import { SnapMatch } from "./SnapMatch";
/** Class that implements the weak snap match behaviour */
export declare class WeakSnapMatch extends SnapMatch {
    /** Are the two points a core match? I.e. are both of type "Snap"? */
    isCoreMatch: boolean;
    /**
     * The constructor of the Weak Snap Match class. Determine if the two points are a core match
     * @param first the first point
     * @param second the second point
     * @param firstId the first id
     * @param secondId the second id
     */
    constructor(first: Core.Point, second: Core.Point, firstId: string, secondId: string);
    /** Adapts the rotation difference. Because we are looking for a weak snap, the rotations of the objects do not have to match.
     *  The possible rotation differences (after the snap transformation has been applied to the first point) at the end are :
     *  0, PI/2, PI, 3* PI / 2
     */
    private adaptRotationDifference;
    /**
     * @returns true if the points are a core match and the distance constraints are met
     */
    isValid(): boolean;
    /**
     * Check if the two points are a core match, e.g. snap <-> snap
     * @param first the first point
     * @param second the second point
     */
    static isCoreMatch(first: Core.Point, second: Core.Point): boolean;
}
