export declare const EMBED_TOKEN_STORAGE_KEY = "agent-native:embed-auth-token"; export declare const MCP_CHAT_BRIDGE_STORAGE_KEY = "agent-native:mcp-chat-bridge"; export interface WorkspaceAppMountPathOptions { explicitRootPath?: boolean; fallbackPath?: string; frameworkRoutePrefix?: string; preferDeclaredMounts?: boolean; routerBasePath?: unknown; workspaceAppMountPaths?: unknown; workspaceAppPath?: unknown; } /** * Self-contained so its source can safely be embedded in browser scripts. * Keep both paths here: a serialized function cannot close over module locals. */ export declare function resolveMcpAppEmbedBasePath(mode: "workspace-path" | "external-target", value: unknown, options?: WorkspaceAppMountPathOptions & { workspaceRuntime?: boolean; }): string | undefined; export declare function resolveWorkspaceAppMountPath(pathname: string, options?: WorkspaceAppMountPathOptions): string | undefined; export declare function resolveExternalEmbedTargetBasePath(target: unknown, options?: WorkspaceAppMountPathOptions & { workspaceRuntime?: boolean; }): string | undefined; export declare function embedTokenStorageKey(basePath: string | undefined, workspaceRuntime: boolean): string; export declare function mcpChatBridgeStorageKey(basePath: string | undefined, workspaceRuntime: boolean): string; /** * Set on `` for the life of a document that is an app nested in an MCP * App widget (a ChatGPT, Codex, or Claude card or side pane). Layout reads it * so the widget never shows app chrome the host already owns, and so a client * navigation that drops the embed query params cannot bring that chrome back. */ export declare const MCP_APP_WIDGET_EMBED_ATTRIBUTE = "data-agent-native-mcp-widget"; /** * Inline script that sets the attribute before the server-rendered shell * skeleton paints: that HTML is one public document for every visitor, so it * cannot know it is nested in a widget. It decides from the same inputs as * `isMcpAppWidgetEmbed` (child frame, chat-bridge flag in the URL or stored, * embed credential in the URL, stored, or `embedded=1`); `mcp-app-host.spec.ts` * runs both over one table so they cannot drift. */ export declare function getMcpAppWidgetEmbedBootScriptBody(basePath?: string, workspaceRuntime?: boolean): string;