import Tracker from "./core/Tracker";
import HtmlAdapter from "./adapters/HtmlAdapter";
import { EventKey, EventType } from "./core/types";
import { version } from "../package.json";

// 创建 KTrace 对象
const KTrace = {
  Tracker,
  HtmlAdapter,
  EventKey,
  EventType,
  version,
};

// 导出主要模块
export { default as Tracker } from "./core/Tracker";

// 导出适配器
export { default as HtmlAdapter } from "./adapters/HtmlAdapter";

// 导出类型和枚举
export { 
  EventKey, 
  EventType, 
  TrackerConfig, 
  TrackEvent,
  EVENT_KEY_TYPE_MAP,
  validateEventKeyType,
  getDefaultEventType
} from "./core/types";

// 创建全局对象
if (typeof window !== "undefined") {
  (window as any).KTrace = KTrace;
}

export default KTrace;
