import { RedisConfigNodejs, Redis } from '@upstash/redis';
import { Message } from 'ai';
import { BaseMessageHistory } from '../../lib/types.js';
import '@upstash/vector';

type RedisHistoryConfig = {
    config?: RedisConfigNodejs;
    client?: Redis;
};
declare class InRedisHistory implements BaseMessageHistory {
    client: Redis;
    constructor(config: RedisHistoryConfig);
    addMessage(params: {
        message: Message;
        sessionId: string;
        sessionTTL?: number;
    }): Promise<void>;
    deleteMessages({ sessionId }: {
        sessionId: string;
    }): Promise<void>;
    getMessages({ sessionId, amount, startIndex, }: {
        sessionId: string;
        amount?: number;
        startIndex?: number;
    }): Promise<Message[]>;
}

export { InRedisHistory, type RedisHistoryConfig };
