import type { ChatMessage } from '../types';
interface UseChatHistoryOptions {
    enabled?: boolean;
    storageKey?: string;
    domainName?: string;
    maxHistoryCount?: number;
    contextHistoryCount?: number;
    unvalidateHistory?: boolean;
}
export declare function useChatHistory(options?: UseChatHistoryOptions): {
    history: import("vue").Ref<{
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[], ChatMessage[] | {
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[]>;
    uiHistory: import("vue").Ref<{
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[], ChatMessage[] | {
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[]>;
    loadHistory: () => Promise<void>;
    saveHistory: () => Promise<void>;
    clearHistory: () => Promise<void>;
    addMessage: (message: ChatMessage) => void;
    addUserMessage: (content: string, image?: string, images?: string[]) => void;
    addAssistantMessage: (content: string) => void;
    addWaitingMessage: () => void;
    addErrorMessage: (content: string) => void;
    removeWaitingMessages: () => void;
    updateMessage: (index: number, message: Partial<ChatMessage>) => void;
    getHistoryParamsArr: (num?: number) => any;
    getHistoryParamsArrForRetry: (num?: number) => any;
    syncApiHistory: () => void;
    getUiHistorySnapshot: () => {
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[];
    reloadUiHistorySnapshot: () => Promise<{
        role: "user" | "assistant" | "error" | "wait" | "streaming";
        content: string;
        timestamp: number;
        image?: string | undefined;
        images?: string[] | undefined;
        customComponents?: Record<string, any> | undefined;
    }[]>;
    setUiHistory: (nextUiHistory: ChatMessage[]) => void;
};
export {};
//# sourceMappingURL=useChatHistory.d.ts.map