import { Point } from "../utils/point";
import { LinkPointEndpointState } from "./linkPointEndpointState";
import { LinkPortEndpointState } from "./linkPortEndpointState";
import { ILinkInteractionState, ILinkPath } from "./linkState";
import { PortState } from "./portState";
import { RootStore } from "./rootStore";
export declare class LinkCreationState implements ILinkInteractionState {
    private _source?;
    private _target?;
    private _targetPortCandidate?;
    private _rootStore;
    constructor(rootStore: RootStore);
    get selected(): boolean;
    get hovered(): boolean;
    get source(): LinkPortEndpointState | undefined;
    get target(): LinkPointEndpointState | undefined;
    get targetPortCandidate(): PortState | undefined;
    get isLinking(): boolean;
    startLinking: (portState: PortState, pointOnPort: Point) => boolean;
    setTargetPortCandidate: (portState: PortState) => void;
    resetTargetPortCandidate: (portState: PortState) => void;
    stopLinking: () => void;
    get componentDefinition(): import("./visualComponentState").VisualComponentState<import("./linksSettings").ILinkVisualComponentProps<any>, any>;
    get path(): ILinkPath | undefined;
    private _resetProps;
}
export declare const LINK_CREATION_COMPONENT_TYPE: string;
//# sourceMappingURL=linkCreationState.d.ts.map