import { ButtonElement } from "../InteractiveElements/index";
import { CometChat } from "@cometchat/chat-sdk-react-native";
interface CardData {
    text: string;
    cardActions: Array<ButtonElement>;
    imageUrl?: string;
}
/**
 * Represents a card message for CometChat.
 * @extends CometChat.InteractiveMessage
 */
export declare class CardMessage extends CometChat.InteractiveMessage {
    /**
     * The URL of the image for the card.
     */
    private imageUrl?;
    /**
     * The text to display on the card.
     */
    private text;
    /**
     * The actions to perform when the card is interacted with.
     */
    private cardActions;
    /**
     * Creates a new instance of CardMessage.
     * @param receiverId - The ID of the receiver.
     * @param receiverType - The type of the receiver.
     * @param text - The text to display on the card.
     * @param cardActions - The actions to perform when the card is interacted with.
     */
    constructor(receiverId: string, receiverType: string, text: string, cardActions: Array<ButtonElement>);
    /**
     * Gets the URL of the image for the card.
     * @returns The URL of the image.
     */
    getImageUrl(): string | undefined;
    /**
     * Sets the image URL for the interactive card data.
     * @param imageUrl - The URL of the image to be set.
     */
    setImageUrl(imageUrl: string): void;
    /**
     * Gets the text to display on the card.
     * @returns The text to display.
     */
    getText(): string;
    /**
     * Gets the actions to perform when the card is interacted with.
     * @returns The actions to perform.
     */
    getCardActions(): Array<ButtonElement>;
    /**
     * Sets the interactive data for the card message.
     * @param json - The partial data to set.
     */
    setInteractiveData(json: Partial<CardData>): void;
    /**
     * Gets the interactive data for the card message.
     * @returns The interactive data.
     */
    getInteractiveData(): CardData;
    /**
     * Creates a new instance of CardMessage from the provided JSON.
     * @param json - The JSON to create the instance from.
     * @returns The new instance of CardMessage.
     */
    static fromJSON(json: any): CardMessage;
}
export {};
