import { InAppMessageAction } from "../../../../core/internal/model/model"; import { InAppMessageView } from "../view/InAppMessageView"; import InAppMessageHiddenStorage from "../../../../core/internal/evaluation/target/InAppMessageHiddenStorage"; import { Clock } from "../../../../core/internal/util/TimeUtil"; import { UrlHandler } from "../internal/UrlHandler"; export interface InAppMessageActionHandler { supports(action: InAppMessageAction): boolean; handle(view: InAppMessageView, action: InAppMessageAction): void; } export declare class InAppMessageActionHandlerFactory { private readonly handlers; constructor(handlers: InAppMessageActionHandler[]); get(action: InAppMessageAction): InAppMessageActionHandler | undefined; } export declare class InAppMessageCloseActionHandler implements InAppMessageActionHandler { handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageLinkActionHandler implements InAppMessageActionHandler { private urlHandler; constructor(urlHandler: UrlHandler); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageLinkAndCloseActionHandler implements InAppMessageActionHandler { private urlHandler; constructor(urlHandler: UrlHandler); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageHiddenActionHandler implements InAppMessageActionHandler { private readonly storage; private readonly clock; constructor(storage: InAppMessageHiddenStorage, clock: Clock); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageLinkNewWindowActionHandler implements InAppMessageActionHandler { private urlHandler; constructor(urlHandler: UrlHandler); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageLinkNewWindowAndCloseActionHandler implements InAppMessageActionHandler { private urlHandler; constructor(urlHandler: UrlHandler); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageLinkNewTabActionHandler implements InAppMessageActionHandler { private urlHandler; constructor(urlHandler: UrlHandler); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; } export declare class InAppMessageLinkNewTabAndCloseActionHandler implements InAppMessageActionHandler { private urlHandler; constructor(urlHandler: UrlHandler); handle(view: InAppMessageView, action: InAppMessageAction): void; supports(action: InAppMessageAction): boolean; }