import { User, Properties, Decision, FeatureFlagDecision, HackleEvent, HackleRemoteConfig } from "../../../core/internal/model/model"; import { InAppMessageBridge } from "../../iam/ui/html/InAppMessageBridge"; import { BrowserHackleClient, PageView } from "../../../hackle/index.browser"; import { PropertyOperations } from "../../property/PropertyOperations"; import { HackleSubscriptionOperations } from "../../subscription/HackleSubscriptionOperations"; import { HackleExperiment, HackleInAppMessageLink, HackleInAppMessageListener, HackleInAppMessageView, HacklePage } from "../../../public/model"; import BrowserPropertyProvider from "../../property/BrowserPropertyProvider"; import { HackleAppInvocationProcessor } from "../invocator/HackleAppInvocationProcessor"; export declare class AppWebViewInAppMessageBridge implements InAppMessageBridge { private readonly viewId; private readonly webAppClient; private readonly invocationProcessor; private readonly browserPropertyProvider; constructor(viewId: string, webAppClient: BrowserHackleClient, invocationProcessor: HackleAppInvocationProcessor, browserPropertyProvider: BrowserPropertyProvider); /** * viewId is a required value. though we use this for stability. */ private resolveViewId; private getCurrentInAppMessageView; private convertToEventDto; private convertToHiddenEventDto; openUrl(url: string | HackleInAppMessageLink): void; trackClick(elementId?: string | undefined): void; handleUrl(url: string | HackleInAppMessageLink, elementId?: string | undefined): void; private closeInAppMessageView; private hideInAppMessage; closeInAppMessage(): void; closeInAppMessage(hideOneDayOrClose: boolean): void; closeInAppMessage(hideDurationMinutes: number): void; getSessionId(): string; getUser(): User; setUser(user: User): Promise; setUserId(userId: string | number | null | undefined): Promise; setDeviceId(deviceId: string): Promise; setUserProperty(key: string, value: any): Promise; setUserProperties(properties: Properties): Promise; updateUserProperties(operations: PropertyOperations): Promise; updatePushSubscriptions(operations: HackleSubscriptionOperations): Promise; updateSmsSubscriptions(operations: HackleSubscriptionOperations): Promise; updateKakaoSubscriptions(operations: HackleSubscriptionOperations): Promise; resetUser(): Promise; setPhoneNumber(phoneNumber: string): Promise; unsetPhoneNumber(): Promise; variation(experimentKey: number, user?: string | User | undefined, defaultVariation?: string | undefined): string; variationDetail(experimentKey: number, user?: string | User | undefined, defaultVariation?: string | undefined): Decision; isFeatureOn(featureKey: number, user?: string | User | undefined): boolean; featureFlagDetail(featureKey: number, user?: string | User | undefined): FeatureFlagDecision; track(event: string | HackleEvent, user?: string | User | undefined): void; trackPageView(option?: PageView | undefined): void; setCurrentPage(page: HacklePage): void; remoteConfig(user?: string | User | undefined): HackleRemoteConfig; showUserExplorer(): void; hideUserExplorer(): void; fetch(): Promise; setInAppMessageListener(listener: HackleInAppMessageListener | null): void; getDisplayedInAppMessageView(): HackleInAppMessageView | null; getExperiment(experimentKey: number): HackleExperiment | undefined; onReady(block: () => void, timeout?: number | undefined): void; onInitialized(config?: { timeout?: number | undefined; } | undefined): Promise<{ success: boolean; }>; close(): void; isOptOutTracking(): boolean; setOptOutTracking(optOut: boolean): void; }