import type { ChatMsg } from '../types'; type Side = 'user' | 'assistant'; type Listener = (chat: ChatMsg[]) => void; type ChatStoreOptions = { isMeaningfulText?: (t: string) => boolean; userAddOnDelta?: boolean; userPlaceholderOnStart?: boolean; assistantAddOnDelta?: boolean; assistantPlaceholderOnStart?: boolean; }; export declare class ChatStore { private chat; private listeners; private seqRef; private userOrderRef; private respOrderRef; private userState; private assistantState; private isMeaningful; private cfg; constructor(opts?: ChatStoreOptions); get(): ChatMsg[]; subscribe(fn: Listener): () => boolean; private emit; private orderBy; private stateBy; private ensureOrder; startUser(itemId: string): void; startAssistant(responseId: string): void; putDelta(side: Side, id: string, delta: string): void; finalize(side: Side, id: string, status: 'done' | 'canceled', finalText?: string): void; destroy(): void; clear(): void; } export {}; //# sourceMappingURL=ChatStore.d.ts.map