import type { AnyObject } from '../_util/type';
import type { SimpleType } from '../use-x-chat';
export interface ConversationData extends AnyObject {
    key: string;
}
/**
 * Registry of ConversationStore instances (aligned with @ant-design/x-sdk conversationStoreHelper).
 */
export declare const conversationStoreHelper: {
    _allConversationStores: Map<string, ConversationStore>;
    set(key: string, store: ConversationStore): void;
    delete(key: string): void;
    getConversation(conversationKey: string): ConversationData;
};
export declare class ConversationStore {
    private conversations;
    private listeners;
    private storeKey;
    private activeConversationKey;
    constructor(defaultConversations: ConversationData[], defaultActiveConversationKey: string);
    private emit;
    setActiveConversationKey: (key: string) => boolean;
    setConversations: (list: ConversationData[]) => boolean;
    getConversation: (key: ConversationData["key"]) => ConversationData;
    addConversation: (conversation: ConversationData, placement?: "prepend" | "append") => boolean;
    setConversation: (key: ConversationData["key"], conversation: ConversationData) => boolean;
    removeConversation: (key: ConversationData["key"]) => boolean;
    getMessages: <Message extends SimpleType = SimpleType>(key: ConversationData["key"]) => import("../use-x-chat").MessageInfo<Message>[];
    getSnapshot: () => ConversationData[];
    getActiveConversationKey: () => string;
    subscribe: (callback: () => void) => () => void;
    destroy: () => void;
}
