UNPKG

@botonic/react

Version:

Build Chatbots using React

37 lines (36 loc) 1.96 kB
interface ReactElementWithDisplayName { type?: { displayName?: string; }; } interface ElementWithProps { props?: { url?: string; payload?: string; path?: string; webview?: unknown; }; } export declare function isMultichannelButton(node?: ReactElementWithDisplayName): boolean; export declare function isMultichannelReply(node?: ReactElementWithDisplayName): boolean; export declare function isNodeText(node?: ReactElementWithDisplayName): boolean; export declare function isNodeButton(node?: ReactElementWithDisplayName): boolean; export declare function isNodeCarousel(node?: ReactElementWithDisplayName): boolean; export declare function isNodeReply(node?: ReactElementWithDisplayName): boolean; export declare function isNodePic(node?: ReactElementWithDisplayName): boolean; export declare function isNodeTitle(node?: ReactElementWithDisplayName): boolean; export declare function isNodeSubtitle(node?: ReactElementWithDisplayName): boolean; export declare function elementHasUrl(element?: ElementWithProps): string | undefined; export declare function elementHasPostback(element?: ElementWithProps): string | undefined; export declare function elementHasWebview(element?: ElementWithProps): unknown; export declare const buttonTypes: { readonly POSTBACK: "postback"; readonly URL: "url"; readonly WEBVIEW: "webview"; }; export type ButtonType = (typeof buttonTypes)[keyof typeof buttonTypes]; export declare function getButtonType(multichannelButton?: ElementWithProps): ButtonType | undefined; export declare function getFilteredElements<T extends ReactElementWithDisplayName>(node: Iterable<T>, filter: (n: T) => boolean): T[]; export declare function getMultichannelButtons(node: Iterable<ReactElementWithDisplayName>): ReactElementWithDisplayName[]; export declare function getMultichannelReplies(node: Iterable<ReactElementWithDisplayName>): ReactElementWithDisplayName[]; export {};