import { AutoSizeOptions, BaseMyopComponent } from "./IMyopComponent"; import { BaseMyopMessage } from "../../messages"; import { CleanupHandler, IComponentDefinitionConfig, ISkinConfig } from "../../common"; import { loaderOptions } from "../hostSDK.ts"; export declare class MyopIframeComponent extends BaseMyopComponent { componentConfig: IComponentDefinitionConfig; container: HTMLElement; private IframeElement; private _autoSizeCleanup?; private _autoSizeOptions?; private _autoSizeUpdate?; constructor(componentConfig: IComponentDefinitionConfig, skin: ISkinConfig, container: HTMLElement, IframeElement: HTMLIFrameElement, options?: loaderOptions); sizeMeta?: { width?: string | number; height?: string | number; minWidth?: number; maxWidth?: number; minHeight?: number; maxHeight?: number; } | null; cleanupInspect?: CleanupHandler; inspect(): CleanupHandler; hide(): void; show(): void; setHeightBasedOnDocumentElement: () => void; observeSizeBasedOnDocumentElement: () => CleanupHandler; /** * Observes the iframe content size and automatically syncs it to the iframe element. * Uses direct contentDocument access (same-origin only) for accurate measurements. * * Reentrant: when called again while observers already exist, updates options and * re-evaluates sizing without recreating observers. Cleanup + re-call (e.g. React * re-render) creates fresh observers since cleanup clears the existing ones. * * @param options - Configuration options including size change callback and min/max constraints * @returns Cleanup function to stop observing */ observeAutoSize: (options?: AutoSizeOptions) => CleanupHandler; setSizeBasedOnDocumentElement: () => void; setHeightBasedOnScrollHeight: () => void; send: (message: BaseMyopMessage) => CleanupHandler; onMessageReceived(incomeMessage: BaseMyopMessage): boolean; dispose: () => void; }