type AuthTransport$1 = 'subprotocol' | 'query'; interface GeneratedClientConfig$1 { websocketUrl: string; authUrl: string; supportedAuthTransports: AuthTransport$1[]; OptaveTraceChatSessionId?: string; } type Logger = { debug: Function; info: Function; warn: Function; error: Function; }; type Opts = GeneratedClientConfig$1 & { tokenProvider?: () => string | Promise; authTransport?: AuthTransport$1; authenticationUrl?: string; clientId?: string; clientSecret?: string; strictValidation?: boolean; requestTimeoutMs?: number; logger?: Logger; tenantId?: string; organizationId?: string; debug?: boolean; retryAttempts?: number; retryDelay?: number; }; interface WebSocketOptions { url: string; protocols?: string | string[]; headers?: Record; } interface AuthTokenResponse { token: string; expiresAt: number; tokenType?: string; } interface AuthCredentials { clientId: string; clientSecret: string; } interface MessageEnvelope { headers: { correlationId: string; traceId: string; schemaRef: string; }; payload: any; } interface SdkEvents { 'connection:open': () => void; 'connection:close': (code: number, reason: string) => void; 'connection:error': (error: Error) => void; 'message:received': (message: MessageEnvelope) => void; 'message:sent': (message: MessageEnvelope) => void; } declare class OptaveJavaScriptSDK { constructor(options: Opts); authenticate(): Promise; openConnection(token?: string): Promise; validate(payload: any): boolean; adjust(params: any): Promise; elevate(params: any): Promise; customerInteraction(params: any): Promise; interaction(params: any): Promise; assistant(params: any): Promise; reception(params: any): Promise; summarize(params: any): Promise; translate(params: any): Promise; recommend(params: any): Promise; insights(params: any): Promise; assistantAsync(params: any, opts?: any): Promise; disconnect(): void; isConnected(): boolean; on(event: string, listener: (...args: any[]) => void): this; emit(event: string, ...args: any[]): boolean; } type AuthTransport = 'subprotocol' | 'query'; declare const SERVER_ENVIRONMENTS: { websocket: { wsEnv: { default: string; examples: string[]; }; baseDomain: { default: string; examples: string[]; }; }; auth: { authEnv: { default: string; examples: string[]; }; baseDomain: { default: string; examples: string[]; }; }; }; declare function buildWebSocketUrl(wsEnv?: string, baseDomain?: string): string; declare function buildAuthUrl(authEnv?: string, baseDomain?: string): string; declare const OAUTH2_TOKEN_URL: string; interface GeneratedClientConfig { websocketUrl: string; authUrl: string; supportedAuthTransports: AuthTransport[]; OptaveTraceChatSessionId?: string; } declare const createDefaultConfig: () => GeneratedClientConfig; declare const DEFAULT_CONFIG: GeneratedClientConfig; export { type AuthCredentials, type AuthTokenResponse, type AuthTransport, DEFAULT_CONFIG, type GeneratedClientConfig, type Logger, type MessageEnvelope, OAUTH2_TOKEN_URL, OptaveJavaScriptSDK, type Opts, SERVER_ENVIRONMENTS, type SdkEvents, type WebSocketOptions, buildAuthUrl, buildWebSocketUrl, createDefaultConfig };