/** * AAWindow Headless - Node.js compatible version * No DOM dependencies, no UI rendering * Provides: JWT grant, socket connection, sendUserMessage, sendAgentMessage */ import { EventEmitter } from '../common/utils/EventEmiter'; import { IStorageAdapter } from '../common/services/storage-adapter'; export interface AAWindowHeadlessConfig { connectionDetails: { conversationId: string; botId: string; domainURL: string; token: string; channel: string; isSecure?: boolean; interactiveLanguage?: string; userName?: string; customData?: any; autoBotId?: string; fromSAT?: boolean; source?: string; }; storageAdapter?: IStorageAdapter; JWT_RESP?: any; } declare class AAWindowHeadless extends EventEmitter { private socketConnection; rootService: any; localStorageService: any; private storageAdapter; config: any; newSocketApproach: boolean; languagedata: any; languages: any; chatEle: any; constructor(storageAdapter?: IStorageAdapter); /** * Initialize and connect to the Agent AI service */ connect(config: AAWindowHeadlessConfig): Promise; /** * Alias for connect() - maintains API compatibility with browser SDK */ show(config: AAWindowHeadlessConfig): Promise; private initConnect; /** * Send a user message through the socket */ sendUserMessage(_data: any): void; /** * Send an agent message through the socket */ sendAgentMessage(_data: any): void; private subscribeToEvents; private settingsResponseHandler; handleSettingsResponse(res: any, config: any, channel: string): void; private initiateSocketConnection; private LanguageObject; private getLanguageDetails; private addBackWardCompatibility; private getAASettings; private getAAPrefsSettings; private JWTSetup; private bindEvents; private handleOnReadyEvent; private handleOnSocketConnectionEvent; private handlePrefsResponse; private cleanupEvents; private commonEmitEvents; private handleOverrideMode; private welComeMsgReq; private menuReq; /** * End the conversation */ endOfConversation(): void; /** * Handle internal transfer */ internalTransfer(data: any): void; /** * Disconnect and cleanup */ destroy(): void; /** * Check if socket is connected */ isConnected(): boolean; } export default AAWindowHeadless;