import {
  AddAlertInvocationError,
  ErrorWithScreenShot,
  InvalidSymbolError,
  MasterSymbol,
  SelectionError,
} from "./classes.js"
import { ClassificationType, IBaseSymbol, ISingleAlertSettings, soundDurations, soundNames } from "./interfaces.js"
import { atatVersion, isEnvEnabled, styleOverride, waitForTimeout } from "./service/common-service.js"
import { fetchSymbolsForSource } from "./service/exchange-service.js"
import log from "./service/log.js"
import {
  addAlert,
  checkForInvalidSymbol,
  clickContinueIfWarning,
  clickSubmit,
  configureInterval,
  configureSingleAlertSettings,
  convertIntervalForTradingView,
  fetchFirstXPath,
  isXpathVisible,
  launchBrowser,
  login,
  logout,
  navigateToSymbol,
  takeScreenshot,
} from "./service/tv-page-actions.js"

export type { ClassificationType, IBaseSymbol, ISingleAlertSettings, MasterSymbol }

export {
  AddAlertInvocationError,
  addAlert,
  atatVersion,
  checkForInvalidSymbol,
  clickContinueIfWarning,
  clickSubmit,
  configureInterval,
  configureSingleAlertSettings,
  convertIntervalForTradingView,
  ErrorWithScreenShot,
  fetchFirstXPath,
  fetchSymbolsForSource,
  InvalidSymbolError,
  isEnvEnabled,
  isXpathVisible,
  launchBrowser,
  log,
  login,
  logout,
  navigateToSymbol,
  SelectionError,
  soundDurations,
  soundNames,
  styleOverride,
  takeScreenshot,
  waitForTimeout,
}
