////////////////////////////////////////////////////////////////////////////////
// Actions
////////////////////////////////////////////////////////////////////////////////

// biome-ignore lint/performance/noBarrelFile: entrypoint module
export {
  type WatchChainsParameters,
  type WatchChainsReturnType,
  watchChains,
} from '../actions/watchChains.js'

////////////////////////////////////////////////////////////////////////////////
// Emitter
////////////////////////////////////////////////////////////////////////////////

export {
  createEmitter,
  Emitter,
  type EventData,
} from '../createEmitter.js'

////////////////////////////////////////////////////////////////////////////////
// Types
////////////////////////////////////////////////////////////////////////////////

export type { SelectChains } from '../types/chain.js'

export type {
  ChainIdParameter,
  ConfigParameter,
  ConnectorParameter,
  EnabledParameter,
  ScopeKeyParameter,
} from '../types/properties.js'

export type { QueryParameter } from '../types/query.js'

export type {
  Compute,
  ExactPartial,
  FixedArray,
  Mutable,
  OneOf,
  PartialBy,
  RemoveUndefined,
  RequiredBy,
  StrictOmit as Omit,
  UnionCompute,
  UnionExactPartial,
  UnionLooseOmit,
  UnionStrictOmit,
} from '../types/utils.js'

////////////////////////////////////////////////////////////////////////////////
// Utilities
////////////////////////////////////////////////////////////////////////////////

export { deepEqual } from '../utils/deepEqual.js'

export { uid } from '../utils/uid.js'
