/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @format
 */

export {
  Logger,
  LoggerExtractError,
  LoggerFormat,
  LoggerInfo,
  LoggerPerformanceEntry,
  LoggerTrackType,
  LoggerTypes,
  LoggerArgs,
  getLogger,
  setLoggerInstance,
  NoopLogger,
} from './utils/Logger';
export * from './server-types';
export * from './companion-types';
export * from './ServerAddOn';
export {sleep} from './utils/sleep';
export {timeout} from './utils/timeout';
export {isTest} from './utils/isTest';
export {isProduction} from './utils/isProduction';
export {assertNever} from './utils/assertNever';
export {fsConstants} from './utils/fsConstants';
export {
  logPlatformSuccessRate,
  reportPlatformFailures,
  reportUsage,
  reportPluginFailures,
  tryCatchReportPluginFailuresAsync,
  tryCatchReportPlatformFailures,
  tryCatchReportPluginFailures,
  UnsupportedError,
} from './utils/metrics';
export {
  ConnectivityError,
  CancelledPromiseError,
  UnableToExtractClientQueryError,
  UserUnauthorizedError,
  UserNotSignedInError,
  NoLongerConnectedToClientError,
  UserError,
  SystemError,
  isConnectivityOrAuthError,
  isError,
  isAuthError,
  getStringFromErrorLike,
  getErrorFromErrorLike,
  deserializeRemoteError,
} from './utils/errors';
export {createControlledPromise} from './utils/controlledPromise';
export * from './utils/typeUtils';
export * from './utils/uuid';
export * from './clientUtils';
export * from './settings';
export * from './PluginDetails';
export * from './doctor';
export * from './ServerAddOn';
export * from './transport';
