import { ZodType, z } from "zod";
import { ConvoObject, LockedConvoObject } from "./convo-types.js";
/**
 * Converts a template literal string into a ConvoObject. The completion of the conversation
 * is not started until then, catch, finally, getValue or getCompletionAsync is called. After one
 * of the previously stated functions or getInput, getValueAsync or getCompletionAsync are called
 * the ConvoObject is considered finalized and non of the setter function will be allowed
 * to be called, if they are called an error will be thrown.
 */
export declare const convo: <T>(strings: TemplateStringsArray, valueOrZodType?: T, ...values: any[]) => ConvoObject<T extends ZodType ? z.infer<T> : any>;
/**
 * Functions identically to the `convo` string template literal process excepts it automatically
 * enables node graph completion.
 */
export declare const convoGraph: <T>(strings: TemplateStringsArray, valueOrZodType?: T, ...values: any[]) => ConvoObject<T extends ZodType ? z.infer<T> : any>;
export declare const isConvoObject: (value: any) => value is ConvoObject<any>;
export declare const isLockedConvoObject: (value: any) => value is LockedConvoObject<any>;
