import { State } from "xstate";
export declare type Dragger = {
  id: string;
  label: string;
  component: string;
  props?: any;
  initialContent?: string;
};
interface CanvasContext {
  draggedElementInstance: HTMLElement;
  dx: number;
  dy: number;
  px?: number;
  py?: number;
}
declare type CanvasStateSchema = {
  value: "inactive";
  context: CanvasContext & {
    draggedElementInstance: null;
  };
} | {
  value: "active";
  context: CanvasContext & {
    draggedElementInstance: null;
  };
} | {
  value: "dragging";
  context: CanvasContext;
} | {
  value: "drop";
  context: CanvasContext;
};
declare type CanvasEvent = MouseEvent | {
  type: "inactive";
} | {
  type: "active";
} | {
  type: "outside";
};
export declare const sendEventToMachine: (evt: CanvasEvent) => State<CanvasContext, CanvasEvent, any, CanvasStateSchema>;
/**
 *
 * Stencil store to expose reactive machine state
 */
declare type CanvasState = {
  machine: State<CanvasContext, CanvasEvent, any, CanvasStateSchema>;
};
export declare const canvasState: CanvasState;
export declare const canvasService: import("xstate").Interpreter<CanvasContext, any, CanvasEvent, CanvasStateSchema>;
export {};
