type AISummaryType = 'address' | 'transaction' | 'token' | 'block' | 'contract'; type AraStreamOptions = { baseUrl: string; bearerToken?: string; body: { chatId: string; question: string; locale: string; network?: number; mode?: number; objectType?: AISummaryType; context?: string; requestType?: string; requestUrl?: string; walletAddress?: string; history?: string; }; headers?: Record; signal?: AbortSignal; }; type AraHandlers = { onBegin?: (meta: Record) => void; onItem?: (text: string, meta: Record) => void; onEnd?: (meta: Record) => void; onError?: (err: unknown) => void; onFinally?: () => void; }; type AraClientInit = { baseUrl: string; bearerToken?: string; defaultHeaders?: Record; }; type StartParams = Omit & { headers?: Record; signal?: AbortSignal; }; declare function streamAra(opts: AraStreamOptions, h: AraHandlers): Promise; declare class AraClient { private baseUrl; private bearerToken?; private defaultHeaders?; private controller; constructor(init: AraClientInit); cancel(): void; start(params: StartParams, handlers: AraHandlers): Promise; } type ButtonTheme = { backgroundColor?: string; right?: number; bottom?: number; size?: number; iconColor?: string; customIconSrc?: string; autoWindowOpen?: { autoOpen: boolean; openDelay?: number; autoOpenOnMobile?: boolean; }; }; type MessageTheme = { backgroundColor?: string; textColor?: string; showAvatar?: boolean; avatarSrc?: string; }; type TextInputTheme = { placeholder?: string; backgroundColor?: string; textColor?: string; sendButtonColor?: string; }; type ChatWindowTheme = { showTitle?: boolean; title?: string; titleAvatarSrc?: string; titleBackgroundColor?: string; titleTextColor?: string; welcomeMessage?: string; errorMessage?: string; backgroundColor?: string; height?: number; width?: number; fontSize?: number; botMessage?: MessageTheme; userMessage?: MessageTheme; textInput?: TextInputTheme; }; type Theme = { button?: ButtonTheme; chatWindow?: ChatWindowTheme; }; type InitOptions = { baseUrl: string; bearerToken?: string; chatId?: string; locale?: string; requestType?: string; walletAddress?: string; container?: HTMLElement | string; theme?: Theme; }; declare function initPopup(options: InitOptions): { readonly open: () => void; readonly close: () => void; readonly destroy: () => void; }; declare function initFull(options: InitOptions): { readonly destroy: () => void; }; declare function defineAraFullChat(): void; type WidgetOptions = { container?: HTMLElement | string; client: AraClient; chatId: string; locale?: string; placeholder?: string; requestType?: string; walletAddress?: string; }; declare function createAraWidget(opts: WidgetOptions): { readonly destroy: () => void; }; declare global { interface Window { AraEmbed?: { AraClient: typeof AraClient; createAraWidget: typeof createAraWidget; init: typeof initPopup; initFull: typeof initFull; defineAraFullChat: typeof defineAraFullChat; }; } } export { AraClient, type AraClientInit, type AraHandlers, type AraStreamOptions, type InitOptions, type StartParams, type Theme, type WidgetOptions, createAraWidget, defineAraFullChat, initPopup as init, initFull, streamAra };