// hooks
export { useAui } from "./useAui";
export { useAuiState } from "./useAuiState";
export { useAuiEvent } from "./useAuiEvent";
export { RenderChildrenWithAccessor } from "./RenderChildrenWithAccessor";

// components
export { AuiIf } from "./AuiIf";
export { AuiProvider } from "./utils/react-assistant-context";

// resources
export { Derived } from "./Derived";
export {
  attachTransformScopes,
  forwardTransformScopes,
} from "./attachTransformScopes";
export type { ScopesConfig } from "./attachTransformScopes";

// tap hooks
export {
  tapAssistantClientRef,
  tapAssistantEmit,
} from "./utils/tap-assistant-context";
export { tapClientResource } from "./tapClientResource";
export { tapClientLookup } from "./tapClientLookup";
export { tapClientList } from "./tapClientList";

// types
export type {
  ScopeRegistry,
  ClientOutput,
  ClientMethods,
  ClientSchema,
  ClientNames,
  ClientEvents,
  ClientMeta,
  ClientElement,
  Unsubscribe,
  AssistantClientAccessor,
  AssistantClient,
  AssistantState,
} from "./types/client";
export {
  normalizeEventSelector,
  type AssistantEventName,
  type AssistantEventCallback,
  type AssistantEventPayload,
  type AssistantEventSelector,
  type AssistantEventScope,
} from "./types/events";
