import("data.table")
import("R6")
import("stringr")
importFrom("lubridate", "is.Date", "is.POSIXct", "is.POSIXlt")
importFrom("methods", "formalArgs", "getMethod", "is", "new", ".hasSlot")
importFrom("utils", "methods")
importFrom("tidyr", "separate")
export(
  defineEvaluationModes,
  defineFunctionReturnTypesParameterName,
  defineTestCaseDefinitionsParameterName,
  EvaluationMode,
  FunctionParameterName,
  FunctionParameterTypeFactory,
  exploreObjectNamesVerification,
  getEllipsisName,
  getObjectClassNames,
  getObjectFunctionArgumentNames,
  getObjectFunctionNames,
  getClassTypicalFunctionNames,
  getObjectClassKind,
  hasMainClass,
  isAuditable,
  # matchFunctionArguments,
  packageFunctionsInformation,
  retrieveFactory,
  retrieveFunctionArguments,
  retrieveFunctionArgumentNames,
  retrieveFunctionReturnTypes,
  #retrieveSupportedObjectInformation,
  retrieveTestCaseDefinitions,
  retrieveTestCaseDescriptions,
  runFunction,
  runTransientFunction,
  runTestCase,
  TestCaseDefinition,
  verifyClassName,
  verifyFunctionName,
  verifyFunctionReturnTypesDefinition,
  #verifyName,
  verifyObjectNames,
  verifyTestCaseDefinitions
)

