import { ButtonElement, CheckboxElement, DropdownElement, LabelElement, RadioButtonElement, SingleSelectElement, TextInputElement } from "../InteractiveElements/index";
/**
 * Represents the data of an interactive form.
 */
export declare class InteractiveFormData {
    /**
     * The title of the form.
     */
    private title;
    /**
     * The goal completion text of the form.
     */
    private goalCompletionText?;
    /**
     * The form fields of the form.
     */
    private formFields;
    /**
     * The submit button of the form.
     */
    private submitElement;
    /**
     * Creates a new instance of InteractiveFormData.
     * @param title - The title of the form.
     * @param formFields - The form fields of the form.
     * @param submitElement - The submit button of the form.
     */
    constructor(title: string, formFields: Array<LabelElement | TextInputElement | CheckboxElement | DropdownElement | RadioButtonElement | SingleSelectElement | ButtonElement>, submitElement: ButtonElement);
    /**
     * Returns the form fields of the form.
     * @returns An array of form fields.
     */
    getFormFields(): Array<LabelElement | TextInputElement | CheckboxElement | DropdownElement | RadioButtonElement | SingleSelectElement | ButtonElement>;
    /**
     * Returns the title of the form.
     * @returns The title of the form.
     */
    getTitle(): string;
    /**
     * Returns the submit button of the form.
     * @returns The submit button of the form.
     */
    getSubmitElement(): ButtonElement;
    /**
     * Returns the goal completion text of the form.
     * @returns The goal completion text of the form.
     */
    getGoalCompletionText(): string | undefined;
    /**
     * Sets the goal completion text of the form.
     * @param goalCompletionText - The goal completion text of the form.
     */
    setGoalCompletionText(goalCompletionText: string): void;
    static fromJSON(json: any): InteractiveFormData;
}
