export {
  assert,
  fail
} from './assert';

export {
  globalAttributeNames,
  CSS_PROPERTIES,
  PSEUDO_ELEMENTS,
} from './data';
export {
  eachCartesianJoinFactory,
  eachCartesianJoin,
  eachCartesianJoinAsync,
  generateCartesianProduct,
} from './each-cartesian-join';
export {
  h,
  hJsx,
} from './h';
export {
  createFixture,
  type IFixture,
  onFixtureCreated,
} from './startup';
export {
  TestContext,
  PLATFORM,
  PLATFORMRegistration,
  setPlatform,
  createContainer,
} from './test-context';
export {
  inspect,
} from './inspect';
export {
  createSink,
} from './logger-sinks';
export {
  MockBinding,
  MockBindingBehavior,
  MockBrowserHistoryLocation,
  MockContext,
  MockPropertySubscriber,
  MockServiceLocator,
  MockSignaler,
  MockTracingExpression,
  MockValueConverter,
  CollectionChangeSet,
  ChangeSet,
  ProxyChangeSet,
  SpySubscriber,
} from './mocks';
export {
  ensureTaskQueuesEmpty,
} from './scheduler';
export {
  // verifyASTEqual,
  verifyBindingInstructionsEqual,
  verifyEqual,
  getVisibleText,
  instructionTypeName,
} from './specialized-assertions';
export {
  _,
  stringify,
  htmlStringify,
  jsonStringify,
  padLeft,
  padRight,
} from './string-manipulation';
export {
  // DefinitionBuilder,
  // InstructionBuilder,
  // TemplateBuilder,
  // TestBuilder,
  // createCustomAttribute,
  // createCustomElement,
  createObserverLocator,
  createScopeForTest,
  // createTemplateController,
  // CustomAttribute,
  // CustomElement,
  // hydrateCustomElement,
} from './test-builder';
export {
  Call,
  CallCollection,
  recordCalls,
  stopRecordingCalls,
  trace
} from './tracing';
export {
  trimFull,
  createSpy,
  type ISpy,
} from './util';
