import { i as lastMatchedElement, n as events, r as isEnabled, t as Events } from "../listeners-CQCofx1-.mjs";
import { ElementTraceInfo, PositionInfo, findTraceAtPointer, findTraceFromElement, findTraceFromVNode, getInternalStore, hasData, recordPosition } from "./record.mjs";
import { VueInspectorClient } from "../index.mjs";

//#region packages/core/src/client/overlay.d.ts
declare const OPEN_HANDLER_KEY = "__VUE_INSPECTOR_OPEN_IN_EDITOR__";
declare const DISPOSE_KEY = "__VUE_INSPECTOR_OVERLAY_DISPOSE__";
declare global {
  interface Window {
    __VUE_INSPECTOR__?: VueInspectorClient;
    [OPEN_HANDLER_KEY]?: (file: string) => unknown;
    [DISPOSE_KEY]?: () => void;
  }
}
declare const state: {
  isVisible: boolean;
  isAnimated: boolean;
  main?: {
    pos: [source: string, line: number, column: number];
    vnode: import("vue").VNode | undefined;
    el: Element | undefined;
    readonly filepath: string;
    readonly fullpath: string;
    readonly rect: {
      height: number;
      width: number;
      x: number;
      y: number;
      readonly bottom: number;
      readonly left: number;
      readonly right: number;
      readonly top: number;
      toJSON: () => any;
    } | undefined;
    getElementsSameFile: () => Element[] | undefined;
    getParent: () => ElementTraceInfo | undefined;
    getElementsSamePosition: () => Element[] | undefined;
  } | undefined;
  sub: {
    rects?: {
      id: string;
      rect: {
        height: number;
        width: number;
        x: number;
        y: number;
        readonly bottom: number;
        readonly left: number;
        readonly right: number;
        readonly top: number;
        toJSON: () => any;
      };
    }[] | undefined;
  };
};
//#endregion
export { ElementTraceInfo, Events, PositionInfo, events, findTraceAtPointer, findTraceFromElement, findTraceFromVNode, getInternalStore, hasData, isEnabled, lastMatchedElement, recordPosition, state };