import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { ServerCapabilities } from '@modelcontextprotocol/sdk/types.js'; export { ToolAnnotations } from '@modelcontextprotocol/sdk/types.js'; export declare enum AngieMCPTransport { POST_MESSAGE = "postMessage" } export declare enum AngieLocalServerTransport { POST_MESSAGE = "postMessage" } export declare enum AngieRemoteServerTransport { STREAMABLE_HTTP = "streamableHttp", SSE = "sse" } export declare enum AngieServerType { LOCAL = "local", REMOTE = "remote" } export type AngieBaseServerConfig = { name: string; title?: string; version: string; description: string; capabilities?: ServerCapabilities; type?: AngieServerType; }; export type AngieLocalServerConfig = AngieBaseServerConfig & { server: Server | McpServer; transport?: AngieLocalServerTransport; type?: AngieServerType.LOCAL; }; export type AngieRemoteServerConfig = AngieBaseServerConfig & { url: string; transport?: AngieRemoteServerTransport; type?: AngieServerType.REMOTE; }; export type AngieServerConfig = AngieLocalServerConfig | AngieRemoteServerConfig; export interface ServerRegistration { id: string; config: AngieServerConfig; timestamp: number; status: 'pending' | 'registered' | 'failed'; error?: string; } export interface AngiePluginMarker { available: boolean; version?: string; } export interface AngieDetectionResult { isReady: boolean; version?: string; capabilities?: string[]; } declare global { interface Window { angiePlugin?: AngiePluginMarker; } } export interface AngieMessage { type: string; payload: T; origin?: string; timestamp: number; } export interface ClientCreationRequest { serverId: string; serverName: string; serverTitle?: string; description: string; serverVersion: string; transport?: AngieLocalServerTransport | AngieRemoteServerTransport; capabilities?: ServerCapabilities; instanceId?: string; remote?: { url: string; }; } export interface ClientCreationResponse { success: boolean; clientId?: string; error?: string; } export interface ContextAttachment { label: string; content: string; } export interface PromptSuggestion { label: string; value: string; autoSend?: boolean; color?: string; isNew?: boolean; requiresPrompt?: string; } export interface AngieTriggerRequest { prompt?: string; context?: { source?: string; } & Record; contextAttachment?: ContextAttachment; suggestions?: { items: PromptSuggestion[]; }; options?: { timeout?: number; newChat?: boolean; autoSend?: boolean; }; } export interface AngieTriggerResponse { success: boolean; response?: string; error?: string; requestId: string; } export declare enum AngieInteractionMode { AGENT = "agent", PLAN = "plan", ASK = "ask", SUPER_ADMIN = "super-admin" } export declare enum MessageEventType { SDK_ANGIE_READY_PING = "sdk-angie-ready-ping", SDK_ANGIE_REFRESH_PING = "sdk-angie-refresh-ping", SDK_ANGIE_ALL_SERVERS_REGISTERED = "sdk-angie-all-servers-registered", SDK_REQUEST_CLIENT_CREATION = "sdk-request-client-creation", SDK_REQUEST_INIT_SERVER = "sdk-request-init-server", SDK_TRIGGER_ANGIE = "sdk-trigger-angie", SDK_TRIGGER_ANGIE_RESPONSE = "sdk-trigger-angie-response", ANGIE_SIDEBAR_RESIZED = "angie-sidebar-resized", ANGIE_SIDEBAR_TOGGLED = "angie-sidebar-toggled", ANGIE_CHAT_TOGGLE = "angie-chat-toggle", ANGIE_STUDIO_TOGGLE = "angie-studio-toggle", ANGIE_NAVIGATE_TO_URL = "angie/navigate-to-url", ANGIE_PAGE_RELOAD = "angie/page-reload", ANGIE_DISABLE_NAVIGATION_PREVENTION = "angie/disable-navigation-prevention", ANGIE_NAVIGATE_AFTER_RESPONSE = "angie/navigate-after-response", ANGIE_SET_INTERACTION_MODE = "angie/set-interaction-mode" } export declare enum HostLocalStorageEventType { SET = "ANGIE_SET_LOCALSTORAGE", GET = "ANGIE_GET_LOCALSTORAGE" } export declare enum HostEventType { RESET_HASH = "reset-hash", HOST_READY = "host/ready", ANGIE_LOADED = "angie/loaded", ANGIE_READY = "angie/ready" }