import { ConversationOptions, ConvoCompletion, ConvoDocQueryResult } from "@convo-lang/convo-lang"; import { GenNode } from "./GenNode.js"; export declare const GenNodeReactContext: import("react").Context; export declare const useGenNode: () => GenNode | null; export interface GenNodeOptions { conversationOptions?: ConversationOptions; completeOnCalled?: boolean; allowAppend?: boolean; _render?: GenItemRenderer; _cache?: boolean; _allowAppend?: boolean; _sharedConvo?: string; _passDownOptions?: boolean; } export declare const GenNodeOptionsReactContext: import("react").Context; export declare const useGenNodeOptions: () => GenNodeOptions | null; export type GenNodeSuccessState = { convo: string; status: 'generated'; value: any; docQueryResult?: ConvoDocQueryResult; completion?: ConvoCompletion; vars: Record; }; export type GenNodeState = { convo: string; } & ({ status: 'ready' | 'generating' | 'querying-document'; } | { status: 'error'; errorMessage: string; error: any; } | GenNodeSuccessState); export type GenNodeStatus = GenNodeState['status']; export interface GenMetadataCtx { metadata: Record; } export declare const genMetadataToString: (metadata: Record) => string; export declare const GenMetadataReactContext: import("react").Context; export declare const useGenMetadata: () => Record | undefined; export type GenItemRenderer = (item: any, vars: Record, state: GenNodeSuccessState, node: GenNode) => any; export type GenListRenderer = (item: any, index: number, vars: Record, value: any, state: GenNodeSuccessState, node: GenNode) => any; export type GenListWrapperRenderer = (content: any, item: any, vars: Record, state: GenNodeSuccessState, node: GenNode) => any;