import type { Prompt } from "@modelcontextprotocol/sdk/types.js"; import type { McpServer } from "mcp-use/react"; type MCPConnection = { [K in keyof McpServer]: McpServer[K]; }; export interface ChatTabProps { connection: MCPConnection; isConnected: boolean; useClientSide?: boolean; /** Enable global keyboard shortcuts (Cmd+O for new chat). Default: true. * Set to false when embedding to avoid conflicts with host app shortcuts. */ enableKeyboardShortcuts?: boolean; prompts: Prompt[]; serverId: string; readResource?: (uri: string) => Promise; callPrompt: (name: string, args?: Record) => Promise; /** Custom API endpoint URL for server-side chat streaming (used when useClientSide=false). * Defaults to "/inspector/api/chat/stream". */ chatApiUrl?: string; /** When chatApiUrl is not yet available, called before sending to resolve the URL. Useful for background initialization. */ waitForChatApiUrl?: () => Promise; /** Pre-populate the chat with messages from a previous session (e.g. when restoring history). */ initialMessages?: import("./chat/types").Message[]; /** Externally-managed LLM config. When provided, bypasses localStorage-based config * and hides the API key configuration UI. Useful for host apps that provide their own backend. */ managedLlmConfig?: import("./chat/types").LLMConfig; /** Opt in to the Manufact free-tier sign-in / upgrade UI. Default: false. */ enableFreeTierUpgrade?: boolean; /** Label for the clear/new-chat button. Default: "New Chat". */ clearButtonLabel?: string; /** When true, hides the "Chat" title in the header. Default: false. */ hideTitle?: boolean; /** When true, hides the model badge on the landing form. Default: false. */ hideModelBadge?: boolean; /** When true, hides the MCP server URL on the landing form. Default: false. */ hideServerUrl?: boolean; /** When true, hides the icon on the clear/new-chat button. */ clearButtonHideIcon?: boolean; /** When true, hides the keyboard shortcut (⌘O) on the clear/new-chat button. */ clearButtonHideShortcut?: boolean; /** Button variant for the clear/new-chat button. Default: "default". */ clearButtonVariant?: "default" | "secondary" | "ghost" | "outline"; /** When true, hides the "New Chat" / clear button entirely. */ hideClearButton?: boolean; /** When true, hides the tool selector (wrench icon) in the chat input. */ hideToolSelector?: boolean; /** Initial quick questions shown below the landing input. */ chatQuickQuestions?: string[]; /** Initial followups shown above input in active chat mode. */ chatFollowups?: string[]; /** * Wire protocol used by the streaming endpoint. * - `"sse"` (default): Inspector SSE protocol * - `"data-stream"`: Vercel AI SDK data-stream protocol */ streamProtocol?: import("./chat/types").StreamProtocol; /** Credentials policy for the fetch request (e.g. `"include"` for cross-origin cookie auth). */ credentials?: RequestCredentials; /** Extra headers to send with every streaming request. */ extraHeaders?: Record; /** * True when the hosted inspector's managed key isn't usable because the * selected server is on localhost (the managed backend can't reach it). * Surfaces an explanatory notice on the configure-key empty state so the * BYOK fallback is explained rather than silent. Default: false. */ managedKeyUnavailable?: boolean; /** * Custom body builder for the streaming request. * Use to send only `{ messages }` to a server-managed backend. */ body?: (messages: Array<{ role: string; content: unknown; attachments?: unknown; }>) => unknown; } export declare function ChatTab({ connection, isConnected, useClientSide, enableKeyboardShortcuts, prompts, serverId, callPrompt, readResource, chatApiUrl, waitForChatApiUrl, initialMessages, managedLlmConfig, enableFreeTierUpgrade, clearButtonLabel, hideTitle, hideModelBadge, hideServerUrl, clearButtonHideIcon, clearButtonHideShortcut, clearButtonVariant, hideClearButton, hideToolSelector, chatQuickQuestions, chatFollowups, streamProtocol, credentials, extraHeaders, body, managedKeyUnavailable, }: ChatTabProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=ChatTab.d.ts.map