import React, { PropsWithChildren } from "react"; import type { TamboTool } from "../model/component-metadata"; import { type TamboInteractableContext } from "../model/tambo-interactable"; declare const TamboInteractableContext: React.Context; /** * The TamboInteractableProvider manages a list of components that are currently * interactable, allowing tambo to interact with them by updating their props. It also registers tools * for Tambo to perform CRUD operations on the components list. * @param props - The props for the TamboInteractableProvider * @param props.children - The children to wrap * @returns The TamboInteractableProvider component */ export declare const TamboInteractableProvider: React.FC; /** * The useTamboInteractable hook provides access to the interactable component * management functions. * @returns The interactable component management functions */ export declare const useTamboInteractable: () => TamboInteractableContext; /** * Hook to get a cloned snapshot of the current interactables. * Returns a shallow copy of the array with cloned items and props to prevent * external mutation from affecting internal state. * @returns The current interactables snapshot (cloned). */ export declare const useCurrentInteractablesSnapshot: () => { props: { [x: string]: unknown; }; id: string; isSelected?: boolean; state?: Record | undefined; stateSchema?: import("@tambo-ai/client/dist/model/component-metadata").SupportedSchema> | undefined; component: React.ComponentType; loadingComponent?: React.ComponentType; description: string; name: string; propsSchema?: import("@tambo-ai/client/dist/model/component-metadata").SupportedSchema | undefined; propsDefinition?: any; associatedTools?: TamboTool[] | undefined; annotations?: import("@tambo-ai/client/dist/model/component-metadata").ToolAnnotations | undefined; }[]; export {}; //# sourceMappingURL=tambo-interactable-provider.d.ts.map