export interface UseAgentChatHomeHandoffOptions { /** Namespace shared by the full-page chat and AgentSidebar surfaces. */ storageKey?: string | null; /** The current destination path that receives the sidebar handoff. */ activePath: string; /** How long the handoff marker remains valid. Defaults to 6 hours. */ ttlMs?: number; /** Disable consumption without changing hook call order. */ enabled?: boolean; } export interface UseAgentChatHomeHandoffLinksOptions { /** Namespace shared by the full-page chat and AgentSidebar surfaces. */ storageKey?: string | null; /** Router-local path for the full-page chat route. Defaults to "/". */ chatPath?: string; /** * Matches every router-local pathname owned by the full-page chat surface. * Defaults to an exact match against `chatPath`. Pass this to cover deep * links such as `/chat/:threadId`. */ isChatPath?: (pathname: string) => boolean; /** Disable link interception without changing hook call order. */ enabled?: boolean; /** How long the handoff marker remains valid. Defaults to 6 hours. */ ttlMs?: number; /** Only intercept links if a recent handoff marker already exists. Defaults to true. */ requireActiveHandoff?: boolean; } /** * Returns true for the route that has just received a full-page-chat handoff. * Pass the result to `AgentSidebar openOnChatRunning`. */ export declare function useAgentChatHomeHandoff({ storageKey, activePath, ttlMs, enabled, }: UseAgentChatHomeHandoffOptions): boolean; /** * Intercepts ordinary in-app links clicked from a full-page chat route so the * page chat can morph into the destination AgentSidebar and keep its thread. * Settings is intentionally excluded: a user opening it keeps chat full-page. * Agent-driven navigation can still opt into the handoff by marking it first. */ export declare function useAgentChatHomeHandoffLinks({ storageKey, chatPath, isChatPath, enabled, ttlMs, requireActiveHandoff, }: UseAgentChatHomeHandoffLinksOptions): void; //# sourceMappingURL=use-agent-chat-home-handoff.d.ts.map