UNPKG

@agentman/chat-widget

Version:

Agentman Chat Widget for easy integration with web applications

35 lines (34 loc) 1.44 kB
import type { Message, ChatState, FileAttachment } from './types/types'; export declare class StateManager { private state; private listeners; constructor(initialState?: ChatState); getState(): ChatState; subscribe(listener: (state: ChatState) => void): () => void; private setState; private notifyListeners; toggleChat(): void; toggleExpand(): void; setOpen(open: boolean): void; setInitialized(initialized: boolean): void; setSending(sending: boolean): void; addMessage(message: Message): void; setError(error?: string): void; clearMessages(): void; setMessages(msgs: Message[]): void; updateMessage(messageId: string, updates: Partial<Message>): void; deleteMessage(messageId: string): void; getMessageById(messageId: string): Message | undefined; getLastMessage(): Message | undefined; getMessageCount(): number; clearListeners(): void; addPendingAttachment(attachment: FileAttachment): void; updatePendingAttachment(attachmentId: string, updates: Partial<FileAttachment>): void; updateAttachmentStatus(fileId: string, updates: Partial<FileAttachment>): void; removePendingAttachment(fileId: string): void; clearPendingAttachments(): void; getPendingAttachments(): FileAttachment[]; setUploadingFiles(uploading: boolean): void; getInitialState(): ChatState; updateState(newState: Partial<ChatState>): void; }