export type MemoryType = 'message' | 'observation' | 'task_result' | 'research';
interface MemoryEntry {
    content: string;
    type: MemoryType;
    metadata?: Record<string, any>;
    embedding?: number[];
}
export interface MemoryResult {
    id: number;
    agent_id: string;
    content: string;
    type: string;
    metadata: Record<string, any>;
    embedding: number[];
    created_at: string;
}
export declare class EnhancedMemoryClient {
    private llmClient;
    private dimension;
    constructor(dimension?: number);
    getMemory(agentId: string): Promise<MemoryResult[]>;
    searchSimilar(agentId: string, embedding: number[], limit?: number, threshold?: number): Promise<MemoryResult[]>;
    private createEmbedding;
    saveMemory(agentId: string, input: string | MemoryEntry): Promise<void>;
    searchMemories(agentId: string, query: string, options?: {
        type?: MemoryType;
        limit?: number;
        threshold?: number;
    }): Promise<MemoryResult[]>;
    private summarizeMemories;
    private calculateConfidence;
    getContextWindow(agentId: string, query: string, options?: {
        timeWindow?: number;
        relevanceThreshold?: number;
        maxItems?: number;
        domains?: string[];
    }): Promise<{
        relevant: MemoryResult[];
        context: string;
        confidence: number;
    }>;
}
export {};
