import type { Metadata } from '@devvit/protos'; import type { BridgeContext } from '@devvit/protos/json/devvit/ui/effects/web_view/v1alpha/context.js'; import type { WebViewImmersiveMode } from '@devvit/protos/json/devvit/ui/effects/web_view/v1alpha/immersive_mode.js'; import { AppPermissionState } from '@devvit/protos/types/devvit/ui/effects/web_view/v1alpha/context.js'; import type { JsonObject } from '@devvit/shared-types/json.js'; import { type WebbitToken } from '@devvit/shared-types/webbit.js'; /** * This is shared between to map the * WebView assets from their S3 key location to the fully qualified devvit.net * URL for use in an iframe. * * @param template provided by the client; fields will be dependent on the template version * @param subreddit the subreddit thing ID where the app is installed * @param url the URL from the WebView block configuration * @param hostname the app hostname * * See packages/public-api/src/devvit/internals/blocks/handler/useWebView.ts and * WebViewFullScreenVisibilityEffect. */ export declare function resolveWebViewUrl(template: string, url: string, hostname: string, ctx: Readonly): string; export type BridgeContextWithMeta = { bridgeContext: BridgeContext; meta: Metadata; }; export declare function newBridgeContextWithMetadata(meta: Readonly | undefined, appVersion: string | undefined, webbitToken: WebbitToken, appPermissionState: AppPermissionState | undefined, viewMode: WebViewImmersiveMode, signedRequestContext: string | undefined, webViewClientData: JsonObject | undefined): BridgeContextWithMeta; //# sourceMappingURL=web-view.d.ts.map