import { HookEvents, Options, PostMessageAction, ViewModel } from '../types/types'; import { EventEmitter } from '../hooks/eventEmitter'; export type IframeOptions = { className: string; title: string; }; export declare const DEFAULT_OPTIONS: IframeOptions; export declare const assertValidFunction: (candidate: Function) => void; declare class Iframe extends EventEmitter { containerElement: HTMLElement; verificationUrl: URL; isMobileDevice: boolean; iframe: HTMLIFrameElement; verificationIframeUid: string; hasLoaded: boolean; onLoadEvents: Function[]; onCleanupEvents: (() => void)[]; installType: string; constructor(containerElement: HTMLElement, url: string); cleanup(): void; static createUniqueId(): string; static isValidHttpUrl(urlString: string): boolean; createIframe(options: IframeOptions): HTMLIFrameElement; addOnLoadEvent(callback: Function): void; onLoad(): void; /** * Using this to add parent window message listeners gives us * - Event Cleanup for modals * - verification of origin, verificationIframeUid, and message data structure */ addWindowMessageListener(actionCb: (action: PostMessageAction) => void): void; addActionListener(): void; setViewModel(viewModel: Partial | ViewModel): void; setOptions(options: Options): void; setInstallType(installType: string): void; init(createIframe?: boolean): void; } export default Iframe;