export declare enum MessageMetaDataTemplateType { BUTTON = "3", IMAGE_CAPTION = "9", LIST = "7", CARD = "10" } export interface RichTextContent { formData?: { [key: string]: string; }; formAction?: string; requestType?: 'json'; payload: T; } export interface RichTextMetaData { templateId: MessageMetaDataTemplateType; contentType: string; payload: string; formData: string; formAction?: string; requestType?: 'json'; } export interface LinkButton { type: 'link'; url: string; name: string; } export interface SubmitButton { name: string; replyText: string; } export interface SuggestedResponseButton { title: string; message: string; } export declare type Button = LinkButton | SubmitButton | SuggestedResponseButton; export declare type ButtonRichTextMetaData = RichTextContent; export interface ImageWithCaption { caption: string; url: string; } export declare type ImageWithCaptionRichTextMetaData = RichTextContent; export interface ListLinkAction { type: 'link'; url: string; } export interface ListQuickReplyAction { type: 'quick_reply'; text: string; } export interface ListElement { imgSrc: string; title: string; description: string; action: ListLinkAction | ListQuickReplyAction; } export interface List { headerImgSrc: string; headerText: string; elements: ListElement[]; buttons: { name: string; action: ListLinkAction | ListQuickReplyAction; }[]; } export declare type ListRichTextMetaData = RichTextContent; export interface CardQuickReplyAction { type: 'quickReply'; payload: { title: string; message: string; }; } export interface CardLinkAction { type: 'link'; payload: { url: string; }; } export interface CardSubmitAction { type: 'submit'; payload: { text: string; formData: { [key: string]: string; }; formAction: string; requestType?: 'json'; }; } export interface Card { title: string; subtitle: string; header: { overlayText: string; imgSrc: string; }; description: string; titleExt: string; buttons: { name: string; action: CardQuickReplyAction | CardLinkAction | CardSubmitAction; }[]; } export declare type CardsRichTextMetaData = RichTextContent; export declare function getMetaDataFromRichTextContent(templateId: MessageMetaDataTemplateType, { payload, formData, formAction, requestType }: RichTextContent): RichTextMetaData; export declare function getRichTextContentFromMetaData({ payload, formData, formAction, requestType }: RichTextMetaData): RichTextContent;