import { EventEmitter } from 'node:events';
export declare const memoryEvents: EventEmitter<[never]>;
export type MemoryChangeKind = 'upsert' | 'delete' | 'index' | 'config' | 'extract';
export interface MemoryChangeEvent {
    kind: MemoryChangeKind;
    id?: string;
    name?: string;
    description?: string;
    type?: string;
    count?: number;
    source?: 'heuristic' | 'llm' | 'manual';
    enabled?: boolean;
    at: number;
}
export declare function memoryDir(dataDir: any): string;
export declare function deriveMemoryId(type: any, name: any): string;
export declare function readMemoryConfig(dataDir: any): Promise<{
    enabled: boolean;
    extraction: {
        provider: any;
    } | null;
}>;
export declare function writeMemoryConfig(dataDir: any, patch: any): Promise<{
    enabled: any;
    extraction: {
        provider: any;
    } | null;
}>;
export declare function maskMemoryExtractionConfig(extraction: any): {
    provider: any;
    model: any;
    baseUrl: any;
    apiVersion: any;
    apiKeyTail: any;
    apiKeyConfigured: boolean;
} | null;
export declare function readMemoryIndex(dataDir: any): Promise<string>;
export declare function writeMemoryIndex(dataDir: any, body: any, options: any): Promise<void>;
export declare function listMemoryEntries(dataDir: any): Promise<{
    id: any;
    name: any;
    description: string;
    type: import("./frontmatter.js").FrontmatterValue | undefined;
    updatedAt: any;
}[]>;
export declare function readMemoryEntry(dataDir: any, id: any): Promise<{
    body: string;
    id: any;
    name: any;
    description: string;
    type: import("./frontmatter.js").FrontmatterValue | undefined;
    updatedAt: any;
} | null>;
export declare function upsertMemoryEntry(dataDir: any, input: any, options: any): Promise<{
    body: string;
    id: any;
    name: any;
    description: string;
    type: import("./frontmatter.js").FrontmatterValue | undefined;
    updatedAt: any;
}>;
export declare function deleteMemoryEntry(dataDir: any, id: any): Promise<void>;
export declare function composeMemoryBody(dataDir: any): Promise<string>;
export declare function extractFromMessage(dataDir: any, userMessage: any): Promise<{
    id: any;
    name: any;
    description: string;
    type: import("./frontmatter.js").FrontmatterValue | undefined;
    updatedAt: any;
}[]>;
