import { AgentConnector } from '@/connectors';
import { ModularMemoryContext } from '@/ai/baml_client';
import { Observation, ObservationOptions, ObservationSource } from './observation';
import { MultiMediaJson } from './serde';
export interface SerializedAgentMemory {
    instructions?: string;
    observations: {
        source: ObservationSource;
        timestamp: number;
        data: MultiMediaJson;
        options?: ObservationOptions;
    }[];
}
export declare class AgentMemory {
    readonly instructions: string | null;
    private observations;
    constructor(instructions?: string);
    isEmpty(): boolean;
    recordThought(content: string): void;
    recordObservation(obs: Observation): void;
    getLastThoughtMessage(): string | null;
    buildContext(activeConnectors: AgentConnector[]): Promise<ModularMemoryContext>;
    toJSON(): Promise<SerializedAgentMemory>;
}
