@botonic/react
Version:
Build Chatbots using React
37 lines (36 loc) • 1.96 kB
TypeScript
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 {};