import { BaseMyopComponent } from "./IMyopComponent"; import { BaseMyopMessage } from "../../messages"; import { CleanupHandler, IComponentDefinitionConfig, ISkinConfig } from "../../common"; import { loaderOptions } from "../hostSDK"; /** * Component wrapper for Myop Web Components that are extracted from HTML * and run directly on the host document (not in an iframe). * * These components use the native Web Components API (Custom Elements + Shadow DOM) * and communicate via direct method calls and CustomEvents instead of postMessage. */ export declare class MyopExtractedWebComponent extends BaseMyopComponent { container: HTMLElement; private customElement; private tagName; private ctaCleanup?; private _ctaHandler?; private _ctaQueue; constructor(componentDefinition: IComponentDefinitionConfig, skin: ISkinConfig, container: HTMLElement, customElement: HTMLElement, tagName: string, options?: loaderOptions); cleanupInspect: CleanupHandler; inspect(): CleanupHandler; hide(): void; show(): void; /** * Initialize the component with data by calling myop_init_interface directly */ initWithData(data: unknown): void; /** * Get current data from the component */ getData(): unknown; /** * Set CTA handler - unified API with iframe components. * Called via props.myop_cta_handler = handler */ setCtaHandler(handler: (action: string, payload: unknown) => void): void; /** * For compatibility with message-based components. * Web components don't use postMessage, so this is a no-op for most messages. */ send: (message: BaseMyopMessage) => CleanupHandler; dispose: () => void; }