import type { ChatHistory } from "../ChatHistory.js";
import type { ChatMessage, LLM } from "../llm/index.js";
import type { BaseChatStore } from "../storage/chatStore/types.js";
import type { BaseMemory } from "./types.js";
type ChatMemoryBufferParams<AdditionalMessageOptions extends object = object> = {
    tokenLimit?: number;
    chatStore?: BaseChatStore<AdditionalMessageOptions>;
    chatStoreKey?: string;
    chatHistory?: ChatHistory<AdditionalMessageOptions>;
    llm?: LLM<object, AdditionalMessageOptions>;
};
export declare class ChatMemoryBuffer<AdditionalMessageOptions extends object = object> implements BaseMemory<AdditionalMessageOptions> {
    tokenLimit: number;
    chatStore: BaseChatStore<AdditionalMessageOptions>;
    chatStoreKey: string;
    constructor(init?: Partial<ChatMemoryBufferParams<AdditionalMessageOptions>>);
    get(initialTokenCount?: number): ChatMessage<AdditionalMessageOptions>[];
    getAll(): ChatMessage<AdditionalMessageOptions>[];
    put(message: ChatMessage<AdditionalMessageOptions>): void;
    set(messages: ChatMessage<AdditionalMessageOptions>[]): void;
    reset(): void;
    private _tokenCountForMessageCount;
}
export {};
