import { type ChatFirstCopy } from "@agent-native/core/client/chat-first"; import { type ReactNode } from "react"; interface EmbedSessionInput { app?: string; path?: string; url?: string; chrome: "minimal"; } export declare function buildChatFirstEmbedSessionInput(appId: string, path: string): EmbedSessionInput; export interface WorkspaceAppChatRailProps { appId: string; appName: string; children: ReactNode; copy?: ChatFirstCopy; agentPageHref?: string; onFullscreenRequest?: () => void; } /** * The chat beside an open workspace app. Every surface that hosts an app pane * must go through here so the rail is always the app's own agent — same tools, * AGENTS.md, skills, app-scoped resources, and dev-mode surface as the app's * native chat — and so an unreachable app is one visible error state rather * than a per-surface silent handoff back to Dispatch's agent. */ export declare function WorkspaceAppChatRail({ appId, appName, children, copy, agentPageHref, onFullscreenRequest, }: WorkspaceAppChatRailProps): import("node_modules/@types/react").JSX.Element; export interface WorkspaceAppFrameApp { id: string; name: string; path?: string | null; url?: string | null; } interface WorkspaceAppFrameProps { app: WorkspaceAppFrameApp; navigateToTopWindow?: (href: string) => boolean | void; /** Chat-first app tabs use their own route while standalone hosts use app metadata. */ embedPath?: string; /** Standalone Dispatch routes seed the iframe once from their initial suffix. */ initialPath?: string; /** Standalone Dispatch hosts mirror child route changes into the shell URL. */ onChildRouteChange?: (path: string) => void; /** Chat-first app surfaces own the parent chat rail around the iframe. */ chatSidebar?: boolean; copy?: ChatFirstCopy; } export declare function WorkspaceAppFrame({ app, navigateToTopWindow, embedPath, initialPath, onChildRouteChange, chatSidebar, copy, }: WorkspaceAppFrameProps): import("node_modules/@types/react").JSX.Element; export declare function WorkspaceAppHost({ appId, navigateToTopWindow, initialPath, onChildRouteChange, }: { appId?: string; navigateToTopWindow?: (href: string) => boolean | void; initialPath?: string; onChildRouteChange?: (path: string) => void; }): import("node_modules/@types/react").JSX.Element; export declare function WorkspaceAppKeepAlive({ activeAppId, }: { activeAppId: string | null; }): import("node_modules/@types/react").JSX.Element; export {}; //# sourceMappingURL=workspace-app-host.d.ts.map