import type { WebViewAppMessage } from '@devvit/protos/types/devvit/ui/effects/web_view/v1alpha/post_message.js'; import type { ReactiveElement } from 'lit'; import type { DevvitUIEffectEvent } from '../dispatcher/events.js'; import { EffectHandler } from './effect-handler.js'; /** * The dialog element that contains the web view in Shreddit is an RPLDialog. When the dialog is opened, * the content of the dialog is "portaled" to the bottom of the document body, where the shadow root content is attached. * This is done to bypass z-index issues in Shreddit. When this happens, the dialog's portalContainer property is set. * * This portalContainer is what contains our web view block. */ interface RPLDialogEl extends HTMLElement { portalContainer: HTMLDivElement; hide: () => void; } export declare class WebViewEffectHandler extends EffectHandler { #private; hookId: string; constructor(host: ReactiveElement, onFullscreenEffect: (webViewUrl: string) => void, queryWebViewDialog?: () => RPLDialogEl | undefined); hostUpdated(): void; hostDisconnected(): void; onReceivedPostMessage: (message: WebViewAppMessage) => void; protected onEvent(ev: DevvitUIEffectEvent): void; } export {}; //# sourceMappingURL=web-view-effect-handler.d.ts.map