import { BaseMessage } from '../llms/primitives/message.js'; import { FrameworkError, FrameworkErrorOptions } from '../errors.js'; import { Serializable } from '../internals/serializable.js'; import '../internals/types.js'; import '../internals/helpers/guards.js'; /** * Copyright 2025 IBM Corp. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ declare class MemoryError extends FrameworkError { } declare class MemoryFatalError extends MemoryError { constructor(message: string, errors?: Error[], options?: FrameworkErrorOptions); } declare abstract class BaseMemory extends Serializable { abstract get messages(): readonly BaseMessage[]; abstract add(message: BaseMessage, index?: number): Promise; abstract delete(message: BaseMessage): Promise; abstract reset(): void; addMany(messages: Iterable | AsyncIterable, start?: number): Promise; deleteMany(messages: Iterable | AsyncIterable): Promise; splice(start: number, deleteCount: number, ...items: BaseMessage[]): Promise; isEmpty(): boolean; asReadOnly(): ReadOnlyMemory; [Symbol.iterator](): ArrayIterator; abstract loadSnapshot(state: TState): void; abstract createSnapshot(): TState; } declare class ReadOnlyMemory extends BaseMemory<{ source: T; }> { readonly source: T; constructor(source: T); add(message: BaseMessage, index?: number): Promise; delete(message: BaseMessage): Promise; get messages(): readonly BaseMessage[]; reset(): void; createSnapshot(): { source: T; }; loadSnapshot(state: { source: T; }): void; } export { BaseMemory, MemoryError, MemoryFatalError, ReadOnlyMemory };