import React from "react"; import { LinkComponent } from "../types"; import { ElementInput } from "../inputs/ElementInput"; export interface ButtonClickHandler { id: string; name: string; handler: (params: { variables: Record; }) => void | Promise; variables?: Array<{ name: string; label: string; defaultValue: any; }>; } export interface ButtonElementData { buttonText: string; link: { newTab: boolean; href: string; }; icon: { markup: string; width?: number; position?: string; }; action: { actionType: "link" | "scrollToElement" | "onClickHandler"; newTab: boolean; href: string; clickHandler?: string; variables?: Record; scrollToElement?: string; }; } export interface Props { linkComponent?: LinkComponent; clickHandlers?: Array; isEditor?: boolean; } export declare const elementInputs: { buttonText: ElementInput; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }; export declare const ButtonRenderer: React.FunctionComponent> & Props & import("../createRenderer").Inputs<{ buttonText: ElementInput; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }>> & { inputs?: import("../inputs/ElementInput").ElementInputs | undefined; } & { original: import("../types").Renderer; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }>>; originalName: string; displayName: string; } & { original: React.FunctionComponent> & Props & import("../createRenderer").Inputs<{ buttonText: ElementInput; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }>> & { inputs?: import("../inputs/ElementInput").ElementInputs | undefined; } & { original: import("../types").Renderer; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }>>; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator> & Props & import("../createRenderer").Inputs<{ buttonText: ElementInput; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }>> & { inputs?: import("../inputs/ElementInput").ElementInputs | undefined; } & { original: import("../types").Renderer; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; }>>; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; } & { Component: React.FunctionComponent & { original: React.FunctionComponent; originalName: string; displayName: string; } & { original: React.FunctionComponent & { original: React.FunctionComponent; originalName: string; displayName: string; }; originalName: string; displayName: string; } & { createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator & { original: React.FunctionComponent; originalName: string; displayName: string; }>) => (props: unknown) => React.JSX.Element; }; inputs?: { buttonText: ElementInput; iconPosition: ElementInput; iconMarkup: ElementInput; actionType: ElementInput<"link" | "scrollToElement" | "onClickHandler", any>; actionNewTab: ElementInput; actionHref: ElementInput; actionScrollToElement: ElementInput; } | undefined; };