import { ButtonElement } from "../InteractiveElements/index";
import { CometChat } from "@cometchat/chat-sdk-react-native";
import { ElementEntity } from "../InteractiveEntities/ElementEntity";
interface FormData {
    title: string;
    formFields: ElementEntity[];
    submitElement: ButtonElement;
    goalCompletionText?: string;
}
/**
 * Represents a form message that extends CometChat's InteractiveMessage class.
 * @extends CometChat.InteractiveMessage
 */
export declare class FormMessage extends CometChat.InteractiveMessage {
    /**
     * 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;
    /**
     * Represents a form message that can be sent via CometChat.
     */
    constructor(receiverId: string, receiverType: string, title: string, formFields: ElementEntity[], submitElement: ButtonElement);
    /**
     * Sets the interactive form data for the message.
     * @param {InteractiveFormData} interactiveFormData - The interactive form data to be set.
     */
    setInteractiveData(formData: Partial<FormData>): void;
    getInteractiveData(): FormData;
    /**
     * Returns the form fields of the form.
     * @returns An array of form fields.
     */
    getFormFields(): ElementEntity[];
    /**
     * 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): FormMessage;
}
export {};
