import { AssistantClient } from "../types/client.js";
import React from "react";

//#region src/utils/react-assistant-context.d.ts
/** Default context value - throws "wrap in AuiProvider" error */
declare const DefaultAssistantClient: AssistantClient;
/** Root prototype for created clients - throws "scope not defined" error */
declare const createRootAssistantClient: () => AssistantClient;
declare const useAssistantContextValue: () => AssistantClient;
/**
 * Supplies an `AssistantClient` to the React tree.
 *
 * Place near the root of any subtree that uses {@link useAui} or the
 * primitives built on it. Components rendered outside an `AuiProvider`
 * receive a default client whose scope accessors throw on use, so
 * missing-provider mistakes surface at the point of use.
 *
 * When mounting a runtime built with one of the runtime hooks, use
 * {@link AssistantRuntimeProvider} — it installs an `AuiProvider`
 * internally — rather than wiring `AuiProvider` yourself.
 *
 * @example
 * ```tsx
 * function ScopedAssistant({ children, scopes }) {
 *   const aui = useAui(scopes);
 *
 *   return <AuiProvider value={aui}>{children}</AuiProvider>;
 * }
 * ```
 */
declare const AuiProvider: ({
  value,
  children
}: {
  /** Assistant client to expose to descendants. */value: AssistantClient; /** Subtree that may read from the client. */
  children: React.ReactNode;
}) => React.ReactElement;
//#endregion
export { AuiProvider, DefaultAssistantClient, createRootAssistantClient, useAssistantContextValue };
//# sourceMappingURL=react-assistant-context.d.ts.map