import { APIAction, CustomAction, URLNavigationAction } from "../InteractiveActions";
import { BaseInteractiveElement } from "./index";
/**
 * Represents a button element that can be added to a interactive bubble.
 */
export declare class ButtonElement extends BaseInteractiveElement {
    /**
     * The text to display on the button.
     */
    private buttonText;
    /**
     * Whether the button should be disabled after it is interacted with.
     * */
    private disableAfterInteracted?;
    /**
     * Creates an instance of ButtonInput.
     * @param elementId - The unique identifier for the button element.
     * @param action - The action to be performed when the button is clicked.
     * @param buttonText - The text to display on the button.
     */
    constructor(elementId: string, action: APIAction | URLNavigationAction | CustomAction, buttonText: string);
    /**
     * Gets the text to display on the button.
     * @returns The text to display on the button.
     */
    getButtonText(): string;
    /**
     * Gets whether the button should be disabled after it is interacted with.
     * @returns Whether the button should be disabled after it is interacted with.
     */
    getDisableAfterInteracted(): boolean | undefined;
    /**
     * Sets whether the button should be disabled after it is interacted with.
     * @param disableAfterInteracted - Whether the button should be disabled after it is interacted with.
     */
    setDisableAfterInteracted(disableAfterInteracted: boolean): void;
    static fromJSON(json: any): ButtonElement;
}
