import { C as ClientBuild, f as AgentClientFromBuild, g as AgentClientParam, L as LifeClient } from '../create-COCmFmHD.js'; import { g as generationPluginClient } from '../client-CCd9dPl7.js'; import { FC, ReactNode } from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; import { T as ToPublic } from '../types-B6ejZKUB.js'; import 'zod'; import 'nanostores'; import 'LIFE_CLIENT_BUILD_PATH'; import '../config-n67P8tNt.js'; import 'zod/v4/core'; import 'type-fest'; interface UseAgentOptions { id?: string; } declare function useAgent(name: K, options?: UseAgentOptions): AgentClientFromBuild | null; /** * ('generation' plugin) Reactively consume context.status. * * @param agent - AgentClient instance * @example * ```typescript * const status = useAgentStatus(agent); // { listening: boolean; thinking: boolean; speaking: boolean } | null * console.log(status); * console.log(status?.listening); * ``` */ declare const useAgentStatus: | null>(agent: Agent) => { listening: boolean; thinking: boolean; speaking: boolean; } | null; declare const useAgentMessages: | null>(agent: Agent) => ({ role: "user"; content: string; id: string; createdAt: number; lastUpdated: number; } | { role: "system"; content: string; id: string; createdAt: number; lastUpdated: number; } | { role: "agent"; content: string; toolsRequests: { toolRequestId: string; toolName: string; toolInput: Record; }[]; id: string; createdAt: number; lastUpdated: number; } | { role: "tool"; toolRequestId: string; toolName: string; toolSuccess: boolean; id: string; createdAt: number; lastUpdated: number; toolOutput?: Record | undefined; toolError?: string | undefined; })[]; interface RenderMarkdownComponents { parent: (args: { children: React.ReactNode; }) => React.ReactNode; heading: (args: { children: React.ReactNode; level: number; }) => React.ReactNode; paragraph: (args: { children: React.ReactNode; }) => React.ReactNode; bold: (args: { children: React.ReactNode; }) => React.ReactNode; italic: (args: { children: React.ReactNode; }) => React.ReactNode; strikethrough: (args: { children: React.ReactNode; }) => React.ReactNode; link: (args: { children: React.ReactNode; url: string; }) => React.ReactNode; image: (args: { children: React.ReactNode; url: string; alt?: string | null; }) => React.ReactNode; list: (args: { children: React.ReactNode; ordered: boolean; }) => React.ReactNode; listItem: (args: { children: React.ReactNode; }) => React.ReactNode; table: (args: { children: React.ReactNode; }) => React.ReactNode; tableRow: (args: { children: React.ReactNode; }) => React.ReactNode; tableCell: (args: { children: React.ReactNode; }) => React.ReactNode; } type MarkdownProps = { documentKey: string; children: string; components?: Partial; throttleMs?: number; }; declare const Markdown: FC; type PublicLifeClient = ToPublic; interface LifeProviderProps { client: ToPublic; children: ReactNode; } declare function LifeProvider({ client, children }: LifeProviderProps): react_jsx_runtime.JSX.Element; declare function useLifeClient(): PublicLifeClient; export { LifeProvider, Markdown, useAgent, useAgentMessages, useAgentStatus, useLifeClient };