import { ConvoComponent } from "./convo-component-types";
import { ConvoComponentMode, FlatConvoMessage } from "./convo-types";
/**
 * Finds the component type of a message.
 */
export declare const getConvoMessageComponentMode: (content: string | null | undefined) => ConvoComponentMode | undefined;
/**
 * Parses message content as a convo component. Components are written in xml. The parsed component
 * is cached and stored on the message using a private symbol.
 * @param msg The message to parse
 */
export declare const getConvoMessageComponent: (msg: FlatConvoMessage | null | undefined) => ConvoComponent | undefined;
export interface ParseConvoComponentTransformResult {
    componentName: string;
    propType: string;
    groupName?: string;
    condition?: string;
}
/**
 * Parses the value of the `transformComponent` tag
 * @param value [groupName] {componentName} {propType} [?[!] condition]
 */
export declare const parseConvoComponentTransform: (value: string | null | undefined) => ParseConvoComponentTransformResult | undefined;
export declare const parseConvoMessageComponents: (content: string, defaultComponentName?: string) => ConvoComponent[] | undefined;
/**
 * Parses message content as a convo component. Components are written in xml.
 * @param content string content to parse
 */
export declare const parseConvoComponent: (content: string | null | undefined) => ConvoComponent | undefined;
