/**
* `@tambo-ai/react` - React SDK for Tambo AI
*
* Provides React hooks and providers for building AI-powered applications
* using the streaming API with AG-UI protocol.
*
* ## Authentication & Thread Ownership
*
* All thread operations require user identification. Provide ONE of:
* - `userKey` - Direct user identifier (for server-side or trusted environments)
* - `userToken` - OAuth bearer token containing the userKey (for client-side apps)
*
* Threads are scoped to the userKey - each user only sees their own threads.
*
* ## Quick Start
*
* ```tsx
* import {
* TamboProvider,
* useTambo,
* useTamboThreadInput,
* } from '@tambo-ai/react';
*
* function App() {
* return (
*
*
*
* );
* }
*
* function ChatInterface() {
* const [threadId, setThreadId] = useState();
* const { messages, isStreaming } = useTambo();
* const { value, setValue, submit, isPending } = useTamboThreadInput();
*
* const handleSubmit = async (e: React.FormEvent) => {
* e.preventDefault();
* const result = await submit();
* if (!threadId) setThreadId(result.threadId);
* };
*
* return (
*
* );
* }
* ```
*
* ## Type Imports
*
* Types are imported directly:
* - Thread state: `import type { TamboThread } from '@tambo-ai/react'`
* - Messages: `import type { TamboThreadMessage } from '@tambo-ai/react'`
*
* SDK types: `import type { ... } from '@tambo-ai/typescript-sdk'`
* AG-UI events: `import { EventType, type BaseEvent } from '@ag-ui/core'`
*/
import type TamboAI from "@tambo-ai/typescript-sdk";
export { TamboProvider, type TamboProviderProps, useTamboConfig, type TamboConfig, } from "./providers/tambo-v1-provider";
export { TamboRegistryProvider } from "../providers/tambo-registry-provider";
export { TamboClientProvider, useIsTamboTokenUpdating, } from "../providers/tambo-client-provider";
export { TamboContextHelpersProvider, useTamboContextHelpers, } from "../providers/tambo-context-helpers-provider";
export { useTamboContextAttachment } from "../providers/tambo-context-attachment-provider";
export { TamboThreadInputProvider, type TamboThreadInputContextProps, type SubmitOptions, } from "./providers/tambo-v1-thread-input-provider";
export { TamboStubProvider, type TamboStubProviderProps, } from "./providers/tambo-v1-stub-provider";
export { ComponentRenderer, type ComponentRendererProps, } from "./components/v1-component-renderer";
export { useTambo, type UseTamboReturn } from "./hooks/use-tambo-v1";
export type { TamboAuthState } from "@tambo-ai/client";
export type { ToolChoice } from "@tambo-ai/client";
export { useTamboThreadInput } from "./hooks/use-tambo-v1-thread-input";
export { useTamboThread } from "./hooks/use-tambo-v1-thread";
export { useTamboThreadList } from "./hooks/use-tambo-v1-thread-list";
export { useTamboComponentState } from "./hooks/use-tambo-v1-component-state";
export { useTamboStreamStatus, type StreamStatus, type PropStatus, } from "./hooks/use-tambo-v1-stream-status";
export { useTamboSuggestions, type UseTamboSuggestionsOptions, type UseTamboSuggestionsReturn, type AcceptSuggestionOptions, } from "./hooks/use-tambo-v1-suggestions";
export { useTamboClient } from "../providers/tambo-client-provider";
export { useMessageImages, type StagedImage, } from "../hooks/use-message-images";
export { useTamboVoice } from "../hooks/use-tambo-voice";
export { TamboMessageProvider, useTamboCurrentMessage, useTamboCurrentComponent, type TamboCurrentComponent, } from "./hooks/use-tambo-current-message";
export { defineTool } from "../util/registry";
export { currentPageContextHelper, currentTimeContextHelper, } from "../context-helpers";
export type { AdditionalContext, ContextHelperFn, ContextHelpers, } from "../context-helpers";
export type { ComponentContextToolMetadata, ComponentRegistry, ParameterSpec, RegisteredComponent, TamboComponent, TamboTool, ToolAnnotations, } from "../model/component-metadata";
export { MCPTransport } from "@tambo-ai/client";
export type { McpServerInfo, NormalizedMcpServerInfo } from "@tambo-ai/client";
export type { ListResourceItem, ReadResourceResult, ResourceSource, } from "../model/resource-info";
export type { APIError, RateLimitError, TamboAIError, } from "@tambo-ai/typescript-sdk";
export type Suggestion = TamboAI.Beta.Threads.Suggestion;
export type { SuggestionGenerateParams, SuggestionGenerateResponse, SuggestionListResponse, } from "@tambo-ai/typescript-sdk/resources/beta/threads/suggestions";
export type { TamboToolUseContent, TamboToolDisplayProps, } from "./types/message";
export type { TamboThreadMessage, ReactTamboThreadMessage, } from "./types/message";
export type { Content, TamboComponentContent, ComponentStreamingState, MessageRole, TextContent, ToolResultContent, ResourceContent, InputMessage, InitialInputMessage, MessageListResponse, MessageGetResponse, } from "./types/message";
export type { TamboThread, RunStatus, StreamingState, ThreadCreateResponse, ThreadRetrieveResponse, ThreadListResponse, } from "@tambo-ai/client";
export { ComponentContentProvider, useComponentContent, type ComponentContentContext, } from "./utils/component-renderer";
export { withTamboInteractable, type InteractableConfig, type WithTamboInteractableProps, } from "../hoc/with-tambo-interactable";
export { useTamboInteractable, useCurrentInteractablesSnapshot, } from "../providers/tambo-interactable-provider";
export type { TamboInteractableComponent as InteractableComponent, TamboInteractableContext, } from "../model/tambo-interactable";
//# sourceMappingURL=index.d.ts.map