import { InAppMessageAction } from "../../../../core/internal/model/model"; export declare type InAppMessageEventType = "IMPRESSION" | "CLOSE" | "ACTION" | "IMAGE_IMPRESSION"; export declare abstract class InAppMessageViewEvent { readonly type: InAppMessageEventType; readonly timestamp: number; protected constructor(type: InAppMessageEventType, timestamp: number); static impression(timestamp: number): InAppMessageImpressionViewEvent; static close(timestamp: number): InAppMessageCloseViewEvent; static action(params: { timestamp: number; action: InAppMessageAction; area?: string; buttonText?: string; imageUrl?: string; imageOrder?: number; elementId?: string; }): InAppMessageActionViewEvent; static imageImpression(params: { timestamp: number; imageUrl: string; imageOrder: number; }): InAppMessageImageImpressionViewEvent; } export declare class InAppMessageImpressionViewEvent extends InAppMessageViewEvent { constructor(timestamp: number); } export declare class InAppMessageCloseViewEvent extends InAppMessageViewEvent { constructor(timestamp: number); } export declare class InAppMessageActionViewEvent extends InAppMessageViewEvent { readonly action: InAppMessageAction; readonly area?: string | undefined; readonly buttonText?: string | undefined; readonly imageUrl?: string | undefined; readonly imageOrder?: number | undefined; readonly elementId?: string | undefined; constructor(timestamp: number, action: InAppMessageAction, area?: string | undefined, buttonText?: string | undefined, imageUrl?: string | undefined, imageOrder?: number | undefined, elementId?: string | undefined); } export declare class InAppMessageImageImpressionViewEvent extends InAppMessageViewEvent { readonly imageUrl: string; readonly imageOrder: number; constructor(timestamp: number, imageUrl: string, imageOrder: number); }