export default class GlobalConnect {
  static $inject: string[];

  /**
   * @param eventBus
   * @param dragging
   * @param connect
   * @param canvas
   * @param toolManager
   * @param rules
   * @param mouse
   */
  constructor(eventBus: EventBus, dragging: Dragging, connect: Connect, canvas: Canvas, toolManager: ToolManager, rules: Rules, mouse: Mouse);

  /**
   * Initiates tool activity.
   */
  start(event: any, autoActivate: any): void;

  toggle(): void;
  isActive(): boolean;

  /**
   * Check if source element can initiate connection.
   *
   * @param startTarget
   * @return
   */
  canStartConnect(startTarget: Element): boolean;
}

type Canvas = import("../../core/Canvas.js").default;
type Connect = import("../connect/Connect.js").default;
type Dragging = import("../dragging/Dragging.js").default;
type EventBus = import("../../core/EventBus.js").default;
type Mouse = import("../mouse/Mouse.js").default;
type Rules = import("../rules/Rules.js").default;
type ToolManager = import("../tool-manager/ToolManager.js").default;
type Element = import("../../model/Types.js").Element;