export type {
  Attributes,
  AttrValue,
  ObservabilityHook,
  Span,
} from './types.js';
export { NOOP_HOOK, noopSpan } from './types.js';

export {
  ATTR_BYTES_BIN,
  ATTR_DIRECTION,
  ATTR_ERROR_CODE,
  ATTR_HTTP_STATUS,
  ATTR_LANE_COUNT,
  ATTR_LANE_ID,
  ATTR_OP,
  ATTR_PARTITION,
  ATTR_PEER_HASH,
  ATTR_RESULT,
  ATTR_RETRY_COUNT,
  ATTR_ROUTE,
  bytesBin,
  laneCountBin,
  peerHash,
  safeAttribute,
  UnsafeAttributeError,
} from './attributes.js';

export {
  withTracer,
  type OtelSpanLike,
  type OtelTracerLike,
  type WithTracerOptions,
} from './with-tracer.js';

export { createRecorder, type RecordedSpan, type SpanRecorder } from './recorder.js';
