import type { LoadSidebarV2Options } from './load-sidebar-v2/config'; import { AngieLocalServerConfig, AngieRemoteServerConfig, AngieServerConfig, ServerRegistration, AngieTriggerRequest, AngieTriggerResponse, PromptSuggestion } from './types'; export { DEFAULT_CONTAINER_ID } from './config'; export declare const resetPromptHashListenersForTests: () => void; type FeatureToggle = { enabled: boolean; }; export type ModeSwitcherConfig = { enabled?: boolean; default?: 'agent' | 'plan' | 'ask'; }; export type LocalServersConfig = { skipLoading?: boolean; }; export type ModelsConfig = { execution: string; }; export type GenerationTypesConfig = { artifacts?: FeatureToggle; }; export type SignInScreenConfig = { title?: string; subtitle?: string; buttonText?: string; }; export type WidgetConfig = { title?: string; subtitle?: string; suggestions?: { items: PromptSuggestion[]; }; promptLibrary?: FeatureToggle; fileUpload?: FeatureToggle; feedback?: FeatureToggle; featuredMcpServer?: string; modeSwitcher?: ModeSwitcherConfig; closeButton?: 'collapse' | 'close'; commands?: FeatureToggle; testMode?: FeatureToggle; statusBanner?: FeatureToggle; quotaBanner?: FeatureToggle; inChatQuotaErrorMessage?: string; userProfileMenu?: FeatureToggle; localServers?: LocalServersConfig; planning?: FeatureToggle; models?: ModelsConfig; generationTypes?: GenerationTypesConfig; topBar?: FeatureToggle; signInScreen?: SignInScreenConfig; }; export type AngieMcpSdkConstructorOptions = { appId?: string; }; export type AngieMcpSdkOptions = { origin?: string; uiTheme?: string; isRTL?: boolean; containerId?: string; skipDefaultCss?: boolean; widgetConfig?: WidgetConfig; path?: string; }; export declare class AngieMcpSdk { private appId?; private angieDetector; private clientManager; private logger; private registrationQueue; private isInitialized; private instanceId; private sidebarV2BootPromise; private promptHashListenerAttached; constructor(options?: AngieMcpSdkConstructorOptions); loadSidebar(options?: AngieMcpSdkOptions): Promise; loadSidebarV2(options: LoadSidebarV2Options): Promise; private isRefreshPingForThisInstance; private setupReRegistrationHandler; private setupAngieReadyHandler; private handleAngieReady; private processRegistration; registerLocalServer(config: AngieLocalServerConfig): Promise; registerRemoteServer(config: AngieRemoteServerConfig): Promise; private isLocalServerConfig; private isRemoteServerConfig; registerServer(config: AngieServerConfig): Promise; getRegistrations(): ServerRegistration[]; getPendingRegistrations(): ServerRegistration[]; isAngieReady(): boolean; isReady(): boolean; waitForReady(): Promise; /** * Triggers Angie with a prompt, context attachment, or both * @param request - The trigger request containing an optional prompt and context attachment * @returns Promise resolving to Angie's response */ triggerAngie(request: AngieTriggerRequest): Promise; destroy(): void; private setupServerInitHandler; private handleServerInitRequest; /** * Backward compat: MCP SDK moved `instructions` from serverInfo to ServerOptions. * Migrate at runtime for older 3rd-party servers. */ private migrateInstructionsCompat; private generateRequestId; private parseHashParams; private shouldHandlePromptHash; private handlePromptHash; private setupPromptHashDetection; }